使用正则表达式将子元素图像从关闭更改为打开并返回
为了保持代码简洁,我希望使用正则表达式和 jQuery 来切换图像悬停内的打开和关闭状态。
jQuery:
$(function(){
$("ul.dropdown li").hover(function(){
$(this).addClass("hover");
$('ul:first',this).css('visibility', 'visible');
}, function(){
$(this).removeClass("hover");
$('ul:first',this).css('visibility', 'hidden');
});
});
html:
<ul class="dropdown">
<li><a href=""><img src="images/nav_first_off.png" /></a>
<ul class="sub_menu sub1"><li>
<div class="topnav_dropdown_left"><a href=""><img src="images/topnav_dropdown_first.jpg" /></a></div>
</li></ul>
</li>
<li><a href=""><img src="images/nav_second_off.png" /></a>
<ul class="sub_menu sub2"><li>
<div class="topnav_dropdown_left"><a href=""><img src="images/topnav_dropdown_second.jpg" /></a></div>
</li></ul>
</li>
<li><a href=""><img src="images/nav_third_off.png" /></a>
<ul class="sub_menu sub3"><li>
<div class="topnav_dropdown_left"><a href=""><img src="images/topnav_dropdown_third.jpg" /></a></div>
</li></ul>
</li>
</ul>
因此,使用上面的悬停功能,使用 li 悬停更改后续的 nav_first_off.png、nav_second_off.png 并使用正则表达式剪切 _off.png 并切换到 _on.png。
任何帮助将不胜感激,感谢您的关注。
In an effort to keep code down I was hoping to use regular expressions with jQuery to switch the on and off states inside a hover for an image.
jQuery:
$(function(){
$("ul.dropdown li").hover(function(){
$(this).addClass("hover");
$('ul:first',this).css('visibility', 'visible');
}, function(){
$(this).removeClass("hover");
$('ul:first',this).css('visibility', 'hidden');
});
});
html:
<ul class="dropdown">
<li><a href=""><img src="images/nav_first_off.png" /></a>
<ul class="sub_menu sub1"><li>
<div class="topnav_dropdown_left"><a href=""><img src="images/topnav_dropdown_first.jpg" /></a></div>
</li></ul>
</li>
<li><a href=""><img src="images/nav_second_off.png" /></a>
<ul class="sub_menu sub2"><li>
<div class="topnav_dropdown_left"><a href=""><img src="images/topnav_dropdown_second.jpg" /></a></div>
</li></ul>
</li>
<li><a href=""><img src="images/nav_third_off.png" /></a>
<ul class="sub_menu sub3"><li>
<div class="topnav_dropdown_left"><a href=""><img src="images/topnav_dropdown_third.jpg" /></a></div>
</li></ul>
</li>
</ul>
So with using the hover function above changing the subsequent nav_first_off.png, nav_second_off.png with the li hover and using the regex to cut the _off.png and switch to _on.png.
Any help would be appreciated, and thanks for even looking.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将函数传递到
.attr()
来更改 < code>src 属性,如下所示:在函数中,
function(i, src)
中的src
参数是旧的src
> 值,所以我们只是做一个.replace( )
对此,如果需要,您还可以向其传递更复杂的正则表达式。You can pass a function into
.attr()
to change thesrc
attribute, like this:In the function, the
src
parameter infunction(i, src)
is the oldsrc
value, so we're just doing a.replace()
on that, you can pass it a more complicated regex if needed as well.