jQuery 自动改变 div

标签 jquery html css animation

我编写了一个简单的代码来更改 divs... 但我认为如果它自动切换超时会很好。

A 创造了一切,唯一的问题是我不是 js 程序员。

如果可能的话,HTML A 想保持现在的状态。我只会更改 js。 我认为 js 代码不是很好,但不知何故必须开始:)

HTML-->

  <div class="container">
        <!-- helper class -->
        <div class="green-section hover push">
           <div class="col-md-3"></div>
           <!-- Text inner -->
           <div class="col-md-6">
              <div class="text-inner">
                 <p class="text-centered web-description"><span class="webdesign">Work
                    great on all device <i class="icon-magic"></i></span> Lorem ipsum
                    dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
                    incididunt ut labore et dolore magna aliqua.
                 </p>
                 <p class="text-centered app-description"><span class="appdev">Mobile
                    friendly <i class="icon-beaker"></i></span> Lorem ipsum dolor sit
                    amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt
                    ut labore et dolore magna aliqua.
                 </p>
                 <p class="text-centered doc-description"><span class="doc">Detailed
                    documentation <i class="icon-info"></i></span> Lorem ipsum dolor sit
                    amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt
                    ut labore et dolore magna aliqua.
                 </p>
                 <p class="text-centered clean-description"><span class="clean">Clean
                    code <i class="icon-list-ul"></i></span> Lorem ipsum dolor sit amet,
                    consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
                    labore et dolore magna aliqua.
                 </p>
              </div>
           </div>
           <!-- Text inner end -->
           <!-- helper class -->
           <div class="col-md-3"></div>
        </div>
     </div>
     <!-- ||||| Welcome End ||||| -->
     <!-- ||||| Features ||||| -->
     <div class="container">
        <div class="features">
           <!-- first box -->
           <div class="col-md-3  padding-5 dark text-center btn1 hover"><i class="icon-3x icon-code"></i>
           </div>
           <!-- second box -->
           <div class="col-md-3  padding-5 dark text-center btn2 hover"><i class="icon-3x icon-copy"></i>
           </div>
           <!-- third box -->
           <div class="col-md-3  padding-5 dark text-center btn3 hover"><i class="icon-3x icon-mobile-phone"></i>
           </div>
           <!-- fourth Box -->
           <div class="col-md-3  padding-5 laptop-bg text-center  btn4 hover"><i class="icon-3x icon-laptop"></i>
           </div>
        </div>
        <!-- features end -->
     </div>
     <!-- container end -->

JS

$(".btn1").on("click", function () {
    $('.btn1').css("background-color", "#7fe5b2");
    $('.btn2,.btn3,.btn4').css("background-color", "#222222");
});
$(".btn2").on("click", function () {
    $('.btn2').css("background-color", "#7fe5b2");
    $('.btn3,.btn4,.btn1').css("background-color", "#222222");
});
$(".btn3").on("click", function () {
    $('.btn3').css("background-color", "#7fe5b2");
    $('.btn4,.btn2,.btn1').css("background-color", "#222222");
});
$(".btn4").on("click", function () {
    $('.btn4').css("background-color", "#7fe5b2");
    $('.btn3,.btn2,.btn1').css("background-color", "#222222");
});


$(".toggle-btn").on("click", function () {
    $('.green-section').css("background", "#222222");

});


$(".btn3").on('click', function (e) {
    e.preventDefault();
    e.stopPropagation();
    $(".app-description").show();
    $(".web-description, .clean-description, .doc-description").hide();
});

$(".btn4").on('click', function (e) {
    e.preventDefault();
    e.stopPropagation();
    $(".web-description").show();
    $(".app-description, .clean-description, .doc-description").hide();
});
$(".btn2").on('click', function (e) {
    e.preventDefault();
    e.stopPropagation();
    $(".doc-description").show();
    $(".app-description, .clean-description, .web-description").hide();
});
$(".btn1").on('click', function (e) {
    e.preventDefault();
    e.stopPropagation();
    $(".clean-description").show();
    $(".app-description, .web-description, .doc-description").hide();
});

DEMO

抱歉我的英语不好...谢谢大家的帮助:)

最佳答案

在完全不改变你的 html 的情况下,这就是我所拥有的:

// link the btns and the descriptions
$('.btn1').data('description', '.clean-description');
$('.btn2').data('description', '.doc-description');
$('.btn3').data('description', '.app-description');
$('.btn4').data('description', '.web-description');

// for each div in the .features section (btns) add a click event
$(".features div").on("click", function (e) {
    e.preventDefault();
    $('.features div').removeClass('selected');
    $(this).addClass('selected');
    $('.green-section .text-inner p').hide();
    $($(this).data('description')).show();
});

// Add a function to click the next btn in the .features section
function clickNext() {
    var divs = $('.features div.selected').next();
    if (divs.length) {
        divs[0].click();
    } else {
        $('.features div')[0].click();
    }
}

// add an interval to click the next btn every 4 seconds
setInterval(function () {
    clickNext();
}, 4000);

但是,我建议在 html 中添加数据标签,并确保绿色部分和功能部分具有 ID。这将确保您使用 jquery 代码定位正确的对象。

http://jsfiddle.net/bhlaird/7bbDq/1/

关于jQuery 自动改变 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19141642/

相关文章:

javascript - 在 FullCalendar 中,如何添加事件

javascript - 为什么我的 jquery new Date() 函数会覆盖传入的参数?

html - 如何在网站中找到未使用的图像和 CSS 样式?

css - Bootstrap 中的动态行

html - 使用 CSS 指定颜色的占位符

php - 从数组生成 jquery 列表

jquery - 选择链接,自动选中它左侧的复选框

php格式化花括号

jquery - 如果标题隐藏,调整容器 div 位置

php - 如何将html存储在php变量中?