Rumah > hujung hadapan web > tutorial js > Melaksanakan karusel imej kiri dan kanan berdasarkan jQuery (prinsip am)_jquery

Melaksanakan karusel imej kiri dan kanan berdasarkan jQuery (prinsip am)_jquery

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-05-16 15:23:50
asal
1249 orang telah melayarinya

Artikel ini berkongsi kod jQuery untuk melaksanakan karusel imej kiri dan kanan untuk rujukan anda Kandungan pelaksanaan khusus adalah seperti berikut

Pemarahan operasi:

Titik! ! !

Prinsip pelaksanaan:

Tentukan sama ada imej digerakkan ke kiri atau kanan dengan menilai perubahan dalam nilai indeks. Dengan mengawal nilai kiri imej, kesan karusel dicapai.

Kod khusus:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8">

    <title></title>

  </head>

  <script src="js/jquery.min.js"></script>

  <style>

    .banner{

      margin:0 auto;

      border: 4px dashed black;

      width:400px;

      height:200px;

      position: relative;

      overflow:hidden;

    }

    .banner a{

      z-index: 100;

      display: block;

      width:100%;

      height: 100%;

      position: absolute;

      left:100%;

      top:0;

    }

    .banner .first{

      left:0;

    }

    .banner a img{

      width:100%;

      height: 100%;

    }

    .choose{

      z-index: 1000;

      position: absolute;

      left:150px;

      top:180px;

      width:100px;

      height: 10px;

    }

    .choose span{

      margin-right: 15px;

      float: left;

      display:block;

      background: blue;

      width:10px;

      height: 10px;

      border-radius: 10px;

    }

    .choose span:hover{

      background: red;

    }

    .choose .red{

      background: red;

    }

    .banner .pre,.next{

      cursor:pointer;

      text-align:center;

      border-radius:20px;

      display:block;

      background:#cccccc;

      opacity:0.4;

      text-decoration: none;

      z-index: 200;

      display:block;

      width:40px;

      height: 40px;

      font-size: 40px;

      color:red;

      position: absolute;

      top:80px;

    }

    .banner .pre{

      left:0px

    }

    .banner .next{

      right: 0px;

    }

  </style>

  <body>

     

    <div class="banner">

      <!--

        这里为上一页下一页点击按钮

      -->

      <span class="pre">-</span>

      <span class="next">+</span>

      <!--

        此处为轮播主体,颜色块代替。图片自加

      -->

      <a href="###" class="first" style="background: pink;"></a>

      <a href="###" style="background: blue;"><img src="images/banner1.jpg"/></a>

      <a href="###" style="background: greenyellow;"><img src="images/banner2.jpg"/></a>

      <a href="###" style="background: deepskyblue;"><img src="images/banner3.jpg"/></a>

      <!--

        此处为轮播部分下方小点选择

      -->

      <div class="choose">

        <span class="red"></span>

        <span></span>

        <span></span>

        <span></span>

      </div>

    </div>

     

    <script>

      /*定义两个变量,保存当前页码和上一页页码*/

      var $index=0;

      var $exdex=0;

      /*小点的鼠标移入事件,触发图片左移还是右移*/

      $(".choose span").mouseover(function(){

        //获取当前移入的index值

        $index=$(this).index();   

        //首先让点的颜色变化,表示选中

        $(".choose span").eq($index).addClass("red").siblings().

            removeClass("red");

        //判断如果index变小,证明图片要往左移动。变大则为右移

        if($index>$exdex){

          next();

        }else if($index<$exdex){

          pre();

        }

        //移动完毕将当前index值替换了前页index

        return $exdex=$index;

      });

      //下一页的点击事件。在右移基础上加了最大index判断

      $(".next").click(function(){

        $index++;

        if($index>3){

          $index=0

        }

        $(".choose span").eq($index).addClass("red").siblings().

            removeClass("red");

        next();

        return $exdex=$index;

      });

      //上一页的点击事件

      $(".pre").click(function(){

        $index--;

        if($index<0){

          $index=3

        };

        $(".choose span").eq($index).addClass("red").siblings().

          removeClass("red");

        pre();

        return $exdex=$index;

      });

      //加个定时器,正常轮播

      var atime=setInterval(function(){

        $(".next").click();     

      },1000);

      //这里为右移和左移的事件函数。

      //右移基本原理就是先让exdex定位的left左移百分百,而选中的当前页从屏幕右边移入,left变为0

      function next(){

        $(".banner a").eq($index).stop(true,true).

            css("left","100%").animate({"left":"0"});

        $(".banner a").eq($exdex).stop(true,true).

            css("left","0").animate({"left":"-100%"});

      }

      function pre(){

        $(".banner a").eq($index).stop(true,true).

          css("left","-100%").animate({"left":"0"});

        $(".banner a").eq($exdex).stop(true,true).

          css("left","0").animate({"left":"100%"});

      }

    </script>

  </body>

</html>

Salin selepas log masuk

Di atas ialah keseluruhan kandungan artikel ini untuk membantu anda mencapai kesan karusel imej yang ringkas dan elegan.

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan