Javascript for循环中的悬停效果
以下是HTML:Javascript for循环中的悬停效果,javascript,Javascript,以下是HTML: <div class=column1of4> <a rel="Appendix" href="images/watermarks/watermark_pic1.jpg" title="Bottle in the mirror"> <img src="images/250-width/pic1.jpg" alt="" width="250px" height="250px"
<div class=column1of4>
<a rel="Appendix" href="images/watermarks/watermark_pic1.jpg"
title="Bottle in the mirror">
<img src="images/250-width/pic1.jpg"
alt="" width="250px" height="250px"
id="Bottleinthemirrorpic">
</a>
<a rel="Appendix" href="images/watermarks/watermark_pic1.jpg"
title="Bottle in the mirror">
<div id="Bottleinthemirror" class="spanlink">
<p>Bottle in the mirror</p>
</div>
</a>
</div>
嵌套循环是不必要的,因为数组是一维的。您可以尝试以下方法:
var texts = ['#Bottleinthemirror'],
pictures = ['#Bottleinthemirrorpic'],
i, j, curText, curPicture, generateHandlers;
generateHandlers = function (text, picture) {
$(text).hide();
$(text + "," + picture).hover(function () {
//in
$(text).show();
},function () {
//out
$(text).hide();
});
};
for (i = 0, j = texts.length; i < j; i++) {
curText = texts[i];
curPicture = pictures[i];
generateHandlers(curText, curPicture);
}
然后像这样循环:
var curText, curPicture;
for (curText in textPics) {
curPicture = textPics[curText];
generateHandlers(curText, curPicture);
}
我不明白为什么你有一个
for
循环,还有一个$。每个循环我假设你实际上已经加载了jQuery@user216485我仍然不认为两者都有必要。你只需要有一个循环。如果有帮助的话,我会这样做:@user216485如果某个东西能工作,那么就加载jQuery。为什么要用这么旧的版本?jQuery现在在v1.9上。x@user216485不要盲目地升级到最新版本。自1.7版以来,有许多更改,包括不推荐使用的功能和已删除的功能。所以试一下,阅读文档,确保一切正常。如果有帮助的话,有一个jquerymigrate插件可以恢复删除的功能并在控制台中警告您
var texts = ['#Bottleinthemirror'],
pictures = ['#Bottleinthemirrorpic'],
i, j, curText, curPicture, generateHandlers;
generateHandlers = function (text, picture) {
$(text).hide();
$(text + "," + picture).hover(function () {
//in
$(text).show();
},function () {
//out
$(text).hide();
});
};
for (i = 0, j = texts.length; i < j; i++) {
curText = texts[i];
curPicture = pictures[i];
generateHandlers(curText, curPicture);
}
var textPics = {
'#Bottleinthemirror': '#Bottleinthemirrorpic'
};
var curText, curPicture;
for (curText in textPics) {
curPicture = textPics[curText];
generateHandlers(curText, curPicture);
}