Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在IE的jQuery CSS中使用HTC行为?_Jquery_Html_Css - Fatal编程技术网

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

如何在IE的jQuery CSS中使用HTC行为?,jquery,html,css,Jquery,Html,Css,我一直在尝试使用jQuery创建旋转对象,而不使用任何其他插件。在这本书中,我看到了无需太多计算就能跨浏览器的完美方法。但是当你这么简单的使用它的时候------ 但是像这样使用jQueryCSS-------- 它在jQueryCSS模式下似乎不起作用,但在普通CSS模式下,它似乎工作得很好!有谁能解释一下为什么会发生这种情况,并为我提供一个解决方案(注意:我不希望这个解决方案有任何jQuery插件!) 这是我的整页------ $(文档).ready(函数(){ $('div#test')

我一直在尝试使用jQuery创建旋转对象,而不使用任何其他插件。在这本书中,我看到了无需太多计算就能跨浏览器的完美方法。但是当你这么简单的使用它的时候------

但是像这样使用jQueryCSS--------

它在jQueryCSS模式下似乎不起作用,但在普通CSS模式下,它似乎工作得很好!有谁能解释一下为什么会发生这种情况,并为我提供一个解决方案(注意:我不希望这个解决方案有任何jQuery插件!)

这是我的整页------


$(文档).ready(函数(){
$('div#test').css({
“-ms变换”:“旋转(45度)”,
“-moz变换”:“旋转(45度)”,
“-o变换”:“旋转(45度)”,
“-webkit变换”:“旋转(45度)”,
“-khtml变换”:“旋转(45度)”
});
});
div#测试{
行为:url(resource/-ms transform.htc);
背景:#333;
颜色:#fff;
填充物:5px 5px;
宽度:200px;
高度:自动;
}
这是一个考验!

我的jQuery有点生疏,但这不应该更像是这样吗

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

(作为一个字符串,而不是json。)

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

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

以CSS3Pie为例,它比以前做同样工作的HTC更好的一个关键因素是它还设置了Javascript事件,监视元素的任何更改,并保持行为特性的最新。但这并不是大多数HTC都具备的功能

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


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

喜欢你的提问风格!好吧,集中精力回答这个问题!~~Alastair PittsYeah,他的观点是当粗体的大文本甚至没有包含任何有意义的内容时,很难集中精力回答这个问题。好吧,如果每个人都这么想,那就这样吧。我想记住这一点,但目前还没有成功!我想说,我喜欢它,但它目前对我没有用处,因为我想在IE中旋转一个元素,而不使用任何其他大型jQuery插件!不过,还是要谢谢你。@Jack Billy:你已经在使用JQuery来更改旋转;我的建议将涉及几乎相同数量的JQuery代码,只更改类,而不是直接更改旋转样式。样式表中需要额外的类,但是JS/JQuery代码基本相同。
    $(document).ready(function () {
      $('div#test').css({
        '-ms-transform':'rotate(45deg)'
      });
    });
<!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>
$(document).ready(function () {
  $('div#test').css('-ms-transform:rotate(45deg)');
});