尝试让动态生成的类循环
Attempting to get dynamically generated classes to loop
我有一个脚本,每次用户将鼠标移入/移出框时,它都会动态添加一个类(无论何时,它都会使框变大)。我希望使这个过程循环,以便大盒子回到一个小盒子。我尝试使用 if 语句来检查该框是否具有"大"类,然后它将类恢复为"小",希望文档会重复。没用。你能建议使用类似的代码来实现这一点吗?我希望让它与 4 个单独的类一起工作。在这里小提琴:http://jsfiddle.net/cs31g61q/1/
var container=$("#container");
var box=$("#box");
box.mouseenter(function(){
$('#box').removeClass("small");
$('#box').addClass("medium");
});
box.mouseleave(function(){
container.on("mouseenter", "#box", function(){
$(this).removeClass("medium");
$(this).addClass("large");
});
});
<div id="container">
<div id="box" class="small">
</div>
</div>
下面的代码片段是否产生了您想要的结果?
片段:
var box = $('#box');
var classes = ['small', 'medium', 'large'];
var iterator = 0;
box.mouseenter(function () {
$(this).removeClass();
$(this).addClass(classes[iterator]);
iterator += 1;
iterator = iterator > classes.length - 1 ? 0 : iterator;
});
.small {
width: 100px;
height:100px;
background: #000;
}
.medium {
width: 200px;
height: 200px;
background: green;
}
.large {
width:400px;
height: 400px;
background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="container">
<div id="box" class="small"></div>
</div>
这基本上是遍历一组类,每次鼠标进入#box
时逐个应用它们。
希望这有帮助。
在这里小提琴。
检查你的逻辑:你只需要一个事件侦听器 - 它应该响应mouseenter或mouseleave,并在类(小,中,大)之间循环。下面是一个非常简单的方法,如上面的小提琴所示。
// Set up the event listener: every mouseenter or mouseleave
$(document).on('mouseenter mouseleave', "#box", function(){
var currentClass = $('#box').attr("class");
var newClass = ''; // TBD in switch statement.
switch(currentClass) {
case('small'):
newClass = 'medium';
break;
case('medium'):
newClass = 'large';
break;
case('large'):
default:
newClass = 'small';
break;
}
// Remove the current class, add new one.
$('#box').removeClass();
$('#box').addClass(newClass);
});
相关文章:
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- 关于动态元素中循环中的事件
- 在PHP循环中动态创建jQuery列表视图
- 用于动态创建对象的嵌套循环
- 在普通javascript中动态增加循环
- JavaScript/循环混淆中的动态作用域与词法作用域
- 如何验证循环动态单选按钮
- 如何使用for循环动态地将行添加到Google图表
- 使用 for 循环动态创建在画布内绘制的图像
- SimpleModal foreach 循环动态内容
- 将 id 从 foreach 循环动态传递到仅申请一行的锚点标签到 jquery,我无法获得其他行的弹出窗口
- 如何使用for循环动态呈现多个表单元素
- 播放 2 框架 + 循环 + 动态 Javascript
- 数据表:通过循环动态创建列属性
- JavaScript:为循环动态创建变量
- 循环动态javascript转换一个接一个,而不是一次全部
- 如何通过javascript中的for循环动态创建ul和li元素
- 使用 for 循环动态创建数组
- 如何使用for in循环动态填充数组
- 从Javascript对象循环动态创建的表单.如何将数据保存回对象