javascript - jQuery:为什么第一次点击时框会折叠

标签 javascript jquery

我们网站 (legendboats.com) 的主页有 4 个小单元格,如果您点击,大图像就会发生变化。相当标准的东西,但有一个问题。

当您第一次单击其中一个图像时,大区域会在新图像重新出现之前折叠。这种情况不会再发生了,你可以继续点击不同的图像,它们会正常淡入和淡出。这是我正在使用的代码:

$('.home_boxes a.content_box').on('click', function(e) {
    e.preventDefault();
    var new_slide = this.hash;
    $('#home_box div.active').fadeOut(function() {
        $('#home_box ' + new_slide).fadeIn().addClass('active');
    }).removeClass('active');

});

对我做错了什么有什么想法,或者有什么改进吗?

最佳答案

它会崩溃,因为您要删除 class="active"。

它在第一次后没有折叠的原因是因为 jQuery 添加了一个内联样式“display:block”,它覆盖了缺少的 class="active"。

最初:

<div id="standard_equipment" class="active">

随后:

<div id="more_power" style="display: block;" class="active">

关于javascript - jQuery:为什么第一次点击时框会折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9222347/

相关文章:

JQuery 第一次没有将背景图片设置为 div

javascript - 用户使用浏览器的后退或刷新功能时 SPA 中的问题

JavaScript:在 ES6 中将 `this` 与原型(prototype)和箭头函数一起使用

javascript - 一页上有多个 bxslider。可以结合js吗?

javascript - 如何在输入中放置响应 angularjs

javascript - 单击加载页面之前显示加载

jquery - 找出元素是否是另一个元素的后代的最佳方法

javascript - 如何在 mac os 的 javascript 中检测命令键被按下

javascript - AngularJS 和 Require : r. js 给出未定义

jQuery addClass 方法正在使用转换