javascript - 全屏 slider 不工作

标签 javascript html css slider

我在固定背景图像上创建了一个内容 slider 。当我尝试将其转换为全屏响应 slider 时,它无法正常工作。实际上,我真的很困惑如何使它全屏显示并响应。当我将其设置为全宽时,第二部分的内容位于第一部分的下方。

代码片段如下。

function step(n) {
    //$(".content-switcher").hide();
    if (n == 1) {
        $(".content-switcher").animate({
            "left": "-600px"
        }, "slow");
    } else if (n == 2) {
        $(".content-switcher").animate({
            "left": "-1200px"
        }, "slow");
    } else if (n == 3) {
        $(".content-switcher").animate({
            "left": "0px"
        }, "slow");
    }
}
.container {
    width: 600px;
    margin: 0 auto;
    outline: 1px solid red;
    overflow: hidden;
    background-image: url("https://static.vecteezy.com/system/resources/previews/000/093/696/original/vector-yellow-abstract-background.jpg");
}

.slider {
    width: 1800px;
}

.content-switcher {
    width: 600px;
    float: left;
    position: relative;
    top: 0;
    left: 0;
}
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Simple Content Slider</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <div class="container">
        <a href="#" onclick="step(1); return false;" style="color: #fff">Step 1</a>
        <a href="#" onclick="step(2); return false;" style="color: #fff">Step 2</a>
        <a href="#" onclick="step(3); return false;" style="color: #fff">Step 3</a>
        <div class="slider">
            <div class="content-switcher" id="content1">
                <p>
                    1Lorem ipsum dolor sit amet, consectetur adipisicing elit
                    . Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.
                </p>
                <img src="http://vignette4.wikia.nocookie.net/mrmen/images/5/52/Small.gif/revision/latest?cb=20100731114437">
                <p>
                    1Lorem ipsum dolor sit amet, consectetur adipisicing elit
                    . Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.
                </p>
                <img src="http://vignette4.wikia.nocookie.net/mrmen/images/5/52/Small.gif/revision/latest?cb=20100731114437">
                <p>
                    1Lorem ipsum dolor sit amet, consectetur adipisicing elit
                    . Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.
                </p>
            </div>
            <div class="content-switcher" id="content2">
                <img src="http://images2.fanpop.com/image/user_images/Starmight350-808191_384_377.jpg">
                <p>2Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.</p>
            </div>
            <div class="content-switcher" id="content3">
                <p>3Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.</p>
            </div>
        </div>
    </div>
    <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

    <script src="js/index.js"></script>

</body>
</html>

最佳答案

试试这个,只是在 JS 和 CSS 中做了一些调整。

function step(n){
  $(".content-switcher").css('display', 'none');
  $(".content-switcher").css('left', '100%');
  $('#content'+n).css('display', 'block');
  if(n==1){
    $(".content-switcher").animate({
      "left":"0px"
    },"slow");
  } else if(n==2){
    $(".content-switcher").animate({
      "left":"0px"
    },"slow");
  } else if(n==3){
    $(".content-switcher").animate({
      "left":"0px"
    },"slow");
  }
}
.container{
  width: 100%;
  margin: 0 auto;
  outline:1px solid red;
  overflow: hidden;
  background-image: url("https://static.vecteezy.com/system/resources/previews/000/093/696/original/vector-yellow-abstract-background.jpg");
}
.slider{ width: 100%;}
.content-switcher{
  width: 100%;
  float: left;
  position: relative;
  top:0;
  left: 100%;
  display: none;
}
.content-switcher:first-child {
  left: 0;
  display:block;
}
<!DOCTYPE html>
<html >
<head>
  <meta charset="UTF-8">
  <title>Simple Content Slider</title>
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
  <div class="container">
    <a href="#" onclick="step(1); return false;" style="color: #fff">Step 1</a>
    <a href="#" onclick="step(2); return false;" style="color: #fff">Step 2</a>
    <a href="#" onclick="step(3); return false;" style="color: #fff">Step 3</a>
    <div class="slider">
      <div class="content-switcher" id="content1">
        <p>1Lorem ipsum dolor sit amet, consectetur adipisicing elit
      . Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.</p>
        <img src="http://vignette4.wikia.nocookie.net/mrmen/images/5/52/Small.gif/revision/latest?cb=20100731114437">
        <p>1Lorem ipsum dolor sit amet, consectetur adipisicing elit
      . Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.</p>
        <img src="http://vignette4.wikia.nocookie.net/mrmen/images/5/52/Small.gif/revision/latest?cb=20100731114437">
        <p>1Lorem ipsum dolor sit amet, consectetur adipisicing elit
      . Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.</p>
      </div>
      <div class="content-switcher" id="content2">
        <img src="http://images2.fanpop.com/image/user_images/Starmight350-808191_384_377.jpg">
        <p>2Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.</p>
      </div>
      <div class="content-switcher" id="content3">
        <p>3Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe sint enim autem beatae sunt distinctio fugiat facilis accusamus dolorum labore quis natus culpa laudantium eos consequatur excepturi rerum error velit.</p>
      </div>
    </div>
  </div>
  <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
  <script src="js/index.js"></script>
</body>
</html>

关于javascript - 全屏 slider 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41541421/

相关文章:

javascript - 输入值更改导致字体导入

c# - 从 HTML 链接调用 C# 函数

javascript - 我没有通过 javascript 中的嵌套 for 循环获得正确的输出

javascript - 如何禁用右键单击嵌入标签?

html - 大型 HTML 元素是否会占用更多处理能力或内存?

javascript - 使用 jQuery 扩展我的类(class)

html - 水平下拉菜单一行不显示两个词

javascript - 并排放置2个svg

html - 表单元素宽度

html - 带有内联 block 和垂直对齐的奇怪垂直间距