javascript - Div 旋转在 JSFiddle 中有效,但在实际元素中无效

标签 javascript jquery html css

我试图在点击时将我的 div 旋转 90°,然后在下一次点击时向后旋转 90°。

出于某种原因,轮换不起作用,所以我将代码放入 JSFiddle 中以找出问题所在,但突然之间相同的代码起作用了。

首先是 JSFiddle:http://jsfiddle.net/YruV7/

这里是我的元素代码:

HTML 和 jQuery:

<script src="resources/js/jquery.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="resources/styles/stylesheet.css" />
<script type="text/javascript"> 
    var rotation = 90;

    jQuery.fn.rotate = function(degrees) {
    $(this).css({'-webkit-transform' : 'rotate('+ degrees +'deg)',
                 '-moz-transform' : 'rotate('+ degrees +'deg)',
                 '-ms-transform' : 'rotate('+ degrees +'deg)',
                 'transform' : 'rotate('+ degrees +'deg)'});
    };

    $( '#control' ).click(function() {   
    $(this).rotate(rotation);
    if( rotation === 90 ) {
        rotation = 0;
    }
    else {
        rotation = 90;
    }
    });
</script>
</h:head>
<h:body>
    <div id="mainWrapper">
        <div id="header">
            <div id="control">
            </div>
        </div>
..

CSS:

@charset "utf-8";
/* CSS Document */

*{
    margin:0;
    padding:0;
}

body,html {
    height: 100%;
    font-family: 'Quicksand', sans-serif;
}

div#mainWrapper {
    height: 100%;
    width: 100%;
    background-color: #03436A;
}

div#header {
    background-color: #03436A;
    width: 100%;
    height: 5%;
}

div#control {
    background:url(../images/logo_small.png) no-repeat center center;
    width: 70px;
    height: 70px;
}

div#control:hover {
    opacity: 0.7; 
}

我问这个问题是因为我希望你们中的一些人能知道代码在我的元素中不起作用的一些可能原因,或者一些找出原因的方法。

我也想知道是否有一种简单的方法来为旋转设置动画,以便它移动到正确的位置,而不是立即在那里,但我的主要问题是为什么代码在我的元素中不起作用。

最佳答案

原因很简单。当你调用$('#control')时,元素idcontrol还不存在,因为它是在脚本之后声明的,所以失败了。

它在 jsFiddle 中有效,因为当 DOM 已经完全加载时,它们会在 window.onload 事件中调用您的脚本。

关于javascript - Div 旋转在 JSFiddle 中有效,但在实际元素中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20037131/

相关文章:

javascript - 如何禁用 nivo slider 上的过渡/效果?

html 水平元素在周围添加 <a> 标签后变为垂直。如何阻止

html - 手机网站白线

javascript - 是否可以在同一场景中有条件地运行 cucumber 步骤?

javascript - insertBefore 方法上的 jQuery 单击事件

javascript - jQuery if 语句取决于 px 中的宽度

html - 在 CSS 中添加目标 ="_blank"

javascript - AWS 上的 Python 获取远程 IP 地址

javascript - 一秒钟内多次调用 Google App Script onEdit 函数失败

javascript - 后代选择器和:has selector in jQuery?有什么区别