javascript - jquery变量?

标签 javascript jquery css show-hide

我是 jQuery 新手,我编写了以下 jQuery 以在显示 map 上的特定链接时显示 div:

<div id="locationmap">
    <a class="linkhide" id="link1" href="#">Occupier 1</a>
    <a class="linkhide" id="link2" href="#">Occupier 2</a>
    <a class="linkhide" id="link3" href="#">Occupier 3</a>
</div>  
<div id="mapdetail">
    <div class="hideme" id="local1" style="display:none;">
        <p>Some content one</p>
    </div>
    <div class="hideme" id="local2" style="display:none;">
        <p>Some content two</p>
    </div>
    <div class="hideme" id="local3" style="display:none;">
        <p>Some content three</p>
    </div>    
</div>

<script type='text/javascript'>//<![CDATA[
    $("#link1").mouseover(function() { $("#local1").fadeIn(500); });
    $("#link2").mouseover(function() { $("#local2").fadeIn(500); });
    $("#link3").mouseover(function() { $("#local3").fadeIn(500); });

    $(".linkhide").mouseout(function() { $(".hideme").css('display','none'); });
//]]>
</script>

但是,如您所见,每个链接都会重复 .fadeIn(500)。我如何使它成为一个变量一次并为每一行调用它?这将节省我为每个链接重复同一段代码 30 次左右的时间。

我这里有一个 JSfiddle:http://jsfiddle.net/karlgoldstraw/4NRY7/

谢谢。

最佳答案

function mouseOver(localId) {
    return function() { $("#local" + localId).fadeIn(500); }
}

 $("#link1").mouseover(mouseOver(1));

关于javascript - jquery变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971660/

相关文章:

javascript - Jquery Galleria Classic Skin - 缩略图行而不是滚动

javascript - 单击时交换类别

javascript - jQuery 文本大小调整插件仅适用于 Bootstrap 轮播的第一张幻灯片

javascript - jquery flippy - 停止翻转发生

javascript - promise 所有异步操作

javascript - JQuery: Accordion 高度样式:填充导致垂直滚动条

javascript - 为什么这个脚本在 IE8 中不起作用?

jquery - 重新定位网页上的 'absolute' 元素 - CSS

html - CSS对齐元素不工作

html - 使用 CSS 更改 HTML 按钮字体