Jquery脚本是否可以使更小或更高效
Jquery script is it possible to make smaller or more effecient
好的,所以我有一个网页,里面有六个图标,每个图标都有一个标题和按钮。目前,当您将鼠标悬停在img-1,标题-1和按钮-1上时,我将其工作在相同的颜色上,依此类推。我想知道我的 jquery 我仍然是新的并且还没有以任何方式掌握它,但我喊出了我想要的每一个更改,我想知道是否有办法巩固它或让它更容易,如果我想改变它但仍然让它悬停并将颜色更改为相应的div
我在jfiddle上设置了一个片段,正如您在jquery列表中看到的那样,我有一长串做同样事情的事情
感谢任何提示或技巧,将不胜感激,以帮助我将来编写的任何网站
http://jsfiddle.net/udegrbnr/
<div style="width:50%;float:left;">
<div class="container-1">
<div class="visible-1 upgradea-1 upgradea imgnone-1"><img src="http://placehold.it/250/000000/000000" alt=""></div>
<div class="hidden-1 upgradea-1 upgradea otherimg-1"><img src="http://placehold.it/250/db232b/000000" alt=""></div>
</div>
<h3 class="upgradea upgrade otherimg" style="text-align: center;">Upgrade Alert</h3>
<div class="aligncenter"><a class="button small button custom fusion-button button-flat button-square button-small button-custom button-1 buttonshadow-no button-upgrade otherimg" target="_self" href="#"><span class="fusion-button-text">Learn More</span></a></div> </div>
<div style="width:30%;float:left;">
<div class="container-1">
<div class="visible-1 contracta contractnone-1"><img src="http://placehold.it/250/000000/000000" alt=""></div>
<div class="hidden-1 contracta contractimg-1"><img src="http://placehold.it/250/344da1/000000" alt=""></div>
</div>
<h3 class="contracta contractimg" style="text-align: center;">Contract End Alert</h3>
<div class="aligncenter"><a class="button small button custom fusion-button button-flat button-square button-small button-custom button-3 buttonshadow-no contracta contractimg" target="_self" href="#"><span class="fusion-button-text">Learn More</span></a></div></div></div>
这是我为 jQuery 准备的所有 6 个div,因为我觉得它很多,希望可以简化
就像我看到"this"命令一样,但不知道是否可以应用它
$(function(){
$(".upgradea , .button-upgrade").hover(function(){
$(".upgradea , .button-upgrade").toggleClass("changecolor");
});
$(".button-upgrade-1").hover(function(){
$(".button-upgrade-1").toggleClass("changecolor-1");
});
$(".flexa ").hover(function(){
$(".flexa").toggleClass("changecolor-2");
});
$(".contracta ").hover(function(){
$(".contracta").toggleClass("changecolor-3");
});
$(".mileagea ").hover(function(){
$(".mileagea").toggleClass("changecolor-4");
});
$(".warrantya").hover(function(){
$(".warrantya").toggleClass("changecolor-5");
});
$(".otherimg").hover(function(){
$(".otherimg-1").toggleClass("changeimg");
});
$(".otherimg").hover(function(){
$(".imgnone-1").toggleClass("hidden-1");
});
$(".fleximg").hover(function(){
$(".fleximg-1").toggleClass("changeimg");
});
$(".fleximg").hover(function(){
$(".flexnone-1").toggleClass("hidden-1");
});
$(".contractimg").hover(function(){
$(".contractimg-1").toggleClass("changeimg");
});
$(".contractimg").hover(function(){
$(".contractnone-1").toggleClass("hidden-1");
});
});
我认为没有任何理由不使用CSS来完成所有这些工作。如果您定位到悬停父级的子项,则可以根据需要设置其样式。例如:
.parent:hover h3, .parent:hover .child a {
color: red;
}
这个CSS绝对可以进一步清理,有很多多余的CSS规则和不必要的容器,我只是不想偏离你提供的示例太远。
http://jsfiddle.net/qk53a5q4/
是的,重新考虑你的 CSS。
与其为每个悬停/changeimg/changecolor 状态设置一个特定的类,不如有一个类来说明事物是什么,然后为每个状态提供一个类。
.HTML:
<button class="button-1 hover">Button 1</button>
<button class="button-2 hover">Button 2</button>
.CSS:
.button-1.hover { /* styles */ }
.button-2.hover { /* styles */ }
j查询:
$('.button-1, .button-2').hover(function() {
$(this).toggleClass('hover');
});
相关文章:
- 我可以使此幻灯片图像自动播放吗?
- HTML/JavaScript拖动&Drop-是否可以使重影图像*NOT*看起来'冲洗掉'
- 可以使 jquery 点击事件在所有其他点击事件之后执行
- 是否有一个Javascript函数可以使代码在运行时延迟
- 有什么方法可以使页面无法刷新吗
- 使用chrome.downloads.download,是否可以使文件不弹出下载栏
- javascript是否有一个选项可以使句点与任何字符匹配,包括换行符
- 有一种方法可以使jslint在使用控制台时显示警告或错误
- 有没有任何方法可以使<选择>转到url
- 有没有任何方法可以使这个名称生成循环运行最短的秒数
- JSXGraph 中有什么方法可以使图像不透明
- 有没有一种方法可以使Iframe根据需要进行扩展
- 是否可以使find()和findOne()方法只返回模式字段
- Javascript.创建类似数组的对象.是否可以使 .length 自动增量
- 是否可以使多个引导弹出窗口更加干燥
- 是否可以使控制器返回模式窗口的数据?MVC5 ASP.NET
- Jquery脚本是否可以使更小或更高效
- 有哪些方法可以使客户端更难操作 DOM
- 我们可以使数据列表自动完成以搜索文本和值吗?
- 是否有JS功能可以使Brightcove智能播放器视频开始播放