gpt4 book ai didi

jquery - 如何在 IE 的 jQuery CSS 中使用 HTC 行为?

转载 作者:可可西里 更新时间:2023-11-01 14:57:24 28 4
gpt4 key购买 nike

我一直在尝试使用 jQuery 而不使用任何其他插件来创建旋转对象。我在这个 link 中看到了无需太多计算即可跨浏览器的完美方法。 .但是当像这样简单地使用它时 ------

    div#test {
behavior:url(resource/-ms-transform.htc);
-ms-transform:rotate(45deg);
background:#333;
color:#fff;
padding:5px 5px;
width:200px;
height:auto;
}

但是像这样使用 jQuery CSS --------

    $(document).ready(function () {
$('div#test').css({
'-ms-transform':'rotate(45deg)'
});
});

它似乎不能在 jQuery CSS 模式下工作,但在普通 CSS 模式下它似乎工作得很好!任何人都可以解释为什么会发生这种情况并为我提供一个解决方案(注意:我不想要任何用于此解决方案的 jQuery 插件,拜托!)。

这是我的整个页面 ------

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<script type="text/javascript" src="jquery-1.6.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('div#test').css({
'-ms-transform':'rotate(45deg)',
'-moz-transform':'rotate(45deg)',
'-o-transform':'rotate(45deg)',
'-webkit-transform':'rotate(45deg)',
'-khtml-transform':'rotate(45deg)'
});
});
</script>
<style type="text/css">
div#test {
behavior:url(resource/-ms-transform.htc);
background:#333;
color:#fff;
padding:5px 5px;
width:200px;
height:auto;
}
</style>
</head>
<body>
<div id="test">This is a test!</div>
</body>
</html>

最佳答案

我不知道有问题的 HTC 文件(链接到你从哪里得到它会是对问题的方便编辑),但我熟悉其他 HTC,例如 CSS3Pie .

我对“行为”工作方式的理解是行为本身仅在元素触发样式表时运行——即通常仅在页面加载时运行,或者如果您更改元素的类。

使用 CSS3Pie 的例子,它比以前做同样工作的 HTC 更好的关键因素之一是它还设置了 Javascript 事件来监视元素的任何变化,并保持行为特征是最新的-日期。但这并不是大多数 HTC 所具备的功能。

在不了解这个特定 HTC 的情况下,我无法确定这是否是问题所在,但我的猜测是它在完成初始转换工作后根本没有任何代码来跟踪该元素。

如果是这种情况,您可能会发现对 -ms-transform 样式进行再多的调整也不会产生任何效果。在那种情况下,我可以建议的唯一选择是拥有一系列具有您想要的各种旋转的类,并使用 JQuery 在这些类之间切换;这应该会触发要运行的行为

关于jquery - 如何在 IE 的 jQuery CSS 中使用 HTC 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067973/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com