javascript - 在 JavaScript/jQuery 而不是 jQuery UI 中匹配具有相似 ID (#thumb-1 == #project-1) 的两个 div 的位置

标签 javascript jquery html css match

我正在使用以下 html 构建一个投资组合画廊:

<article class="work-gallery">
        <ul>
            <li id="project-1"><img src="http://placehold.it/50x00"></li>            
            <li id="project-2"><img src="http://placehold.it/50x50"></li>
            <li id="project-3"><img src="http://placehold.it/50x50"></li>           
        </ul>
</article>
        <div class="projects">
            <div id="detail-1" class="project-content project-1">Test</div>
            <div id="detail-2" class="project-content project-2">Test</div>
            <div id="detail-3" class="project-content project-3">Test</div>            
        </div><!-- end .projects -->

当页面加载时,我想做的是设置#detail-1 以匹配#project-1 的 x/y 坐标、#project-2 的#detail-2 等。

这是我目前的代码:

$(document).ready(function () {
    var thumb = $('.work-gallery li'),
        thumbId = thumb.attr('id'),
        thumbIdNumber = thumbId.substring(thumbId.indexOf('-') + 1, thumbId.length),
        thumbProject = $('#detail-' + thumbIdNumber);
    thumbProject.css({'top': thumb.position.top});
});

...但在最后一条语句中,我没有指定 thumb 变量的 ID。所以这就是我被困的地方。如果有人对如何做到这一点有其他建议,或者有其他方法可以做到这一点,我将不胜感激。

最佳答案

我猜这会很好。

$(document).ready(function () {
    $('.work-gallery li').each(function(){
        var elem = $(this),
            thumbId = elem.attr('id');
        $('#detail-' + thumbId.split('-')[1]).css({top: elem.position().top});
    });
});

JSFiddle

关于javascript - 在 JavaScript/jQuery 而不是 jQuery UI 中匹配具有相似 ID (#thumb-1 == #project-1) 的两个 div 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25101948/

相关文章:

javascript - Yii框架2.0使用POST方法的AJAX请求

javascript - 本地脚本/css 与移动 PhoneGap 应用程序上的 CDN

javascript - 如何获取元素的文本但不包括该元素的子元素?

php - SQL数据库不存储用户输入

javascript - Meteor JS 报错

javascript - 是否可以使用页面滚动条滚动内部 div?

javascript - 对条件 Array.sort() 的 Jest 覆盖

javascript - 在 iframe 中跟踪导航

jquery - 尽管服务存在但未注入(inject)依赖项

jquery - 设置 jQuery 切换的隐藏默认值