場景需求:
例如有一些需求是當鼠標移入容器時,容器裏的圖片需要換成懸停時的圖片,然後比較死板的寫法,如下:
明明代碼之間差不多,只是在.png前面多加了個_hover表示懸停而已,代碼冗餘繁瑣的要死,我們幹嘛不直接用js控制呢?那就用正則吧。
<body>
<div class="img">
<img src="[email protected]" alt="">
</div>
</body>
hoverImg();
function hoverImg() {
var hoverUrl;
var index;
var url;
$(".img img").hover(function () {
var re = /.png$/;
if (!index && !url) {
url = $(this).attr("src");
index = url.match(re).index;
}
var subUrl = url.substring(0, index);
hoverUrl = url.replace(url, subUrl + '_hover.png')
$(this).attr("src", hoverUrl)
}, function () {
$(this).attr("src", url)
})
}
執行上面的操作之後,我們只需要改一下文件名,在後面加_hover就完事。哪有那麼多爲什麼鴨,嘻嘻~~