您的位置:首页 > Web前端 > CSS

去掉CSS中的表达式Expression

2014-10-21 08:49 387 查看
在IE中,CSS是可以嵌入js表达式的,可以在CSS类中定义,但是将含有表达CSS类从DOM对象中移除,样式表达式是不会失效的。

经过研究找到了答案,需要使用js调用style对象的removeExpression()方法才可去除。

下面是方法的说明:

语法


bSuccess = object.removeExpression(sPropertyName)


参数


sPropertyNameRequired. String that specifies the name of the property from which to remove an expression.

返回值


Returns one of the following possible values:

trueThe expression was successfully removed.
falseThe expression was not removed.

下面给出一个实用例子:利用样式限制图片最大宽度,通过一个按钮切换实际大小与缩放大小。

CSS类,作用:限制图片的最大宽度,超出指定宽度等比缩小。

Css代码


.wrap {

border:none;

max-width:730px;

height:auto;

width:expression(this.width>730?"730px":true);/*ie6补丁*/

}

图片<img>

Html代码


<img id="chart_img" class="chart" src="bond_big.jpg"/>

切换按钮

Html代码


<span id="imgctr" style="cursor: pointer;display: block" onclick="showOrigin()">[原始大小]</span>

js代码(需要jQuery)

Java代码


function showOrigin(){

$('#chart_img').toggleClass("chart");

if($('#chart_img').attr("class")){

$('#imgctr').text("[原始大小]");

}else{

$('#imgctr').text("[缩放大小]");

$('#chart_img')[0].style.removeExpression('width'); /*ie6补丁*/

}

}

这个事例只有在IE6中才能体现removeExpression()的作用,ie7以上是不需要的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: