1.横向滚动条,要设置两个div包裹. 2. 点击切换视频或者图片. overflow . overflow-x

Posted cb_za

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.横向滚动条,要设置两个div包裹. 2. 点击切换视频或者图片. overflow . overflow-x相关的知识,希望对你有一定的参考价值。

 

1.横向滚动条.

 div.1 > div.2 > img img  img

第一: 设置 div.1 一个固定的宽度 和高度  . 例如宽度 700px;  高度是 120px; 设置 overflow-x

第二; 每个图片的 宽度是 150px, 高度 100px( 比 div.1 小, 要可以显示横向滚动条

第三: 重点 . 设置 div.2 的宽度 .  如果有 10个图片, 每个图片margin-right 为 10px,   那么 div.2 的宽度就是  (150+10)*10 

  这里要考虑 inline-box 的元素之间有间隙. 可以设置  div.2 的font-size 为 0px;  img 的font-size 为 16px;

参考样式:

 1      .kecheng_03_content {
 2          width: 100%;
 3          height: 120px;
 4          overflow-x: auto;
 5          /*border: 1px solid red;*/
 6          margin-top: 20px;
 7      }
 8 
 9      .kecheng_03_content .xuan {
10          width: 750px;
11          font-size: 0px;
12          -webkit-text-size-adjust:none;
13      }
14 
15      .kecheng_03_content .xuan div {
16          width: 120px;
17          height: 90px;
18          display: inline-block;
19          margin-right: 20px;
20          box-shadow: 0px 0px 2px 2px #DBDBDB;
21 
22      }
23 
24      .kecheng_03_content .xuan div video {
25          width: 120px;
26          height: 90px;
27      }
28 
29      .kecheng_03_content .xuan div img {
30          width: 120px;
31          height: 90px;
32      }

 

 2. 点击切换视频或者图片.

要求:

1)点击下面滚动条中的图片, 图片对应的视频可以切换;

2)也可以 直接点击 perv 或者 next 切换视频.

---------------------------

保证视频 和图片 都是 这样的命名方法:  1.mp4 , 2.mp4, 3.mp4, 4.mp4, 5.mp4;       1.png,   2.png ,   3.png ,   4.png ,  5.png

 

 

---------------------------

 

2-1:  html结构:

 1       
 2     <div class="kecheng_03">
 3         <div class="kecheng_03_video" >
 4             <video  controls preload="none">
 5               <source src="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/1.mp4\';  ?>" type="video/mp4">
 6             </video>
 7         </div>
 8 
 9         <div class="kecheng_03_button" data-num="1" data-totalnum="5" data-subsrc="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/\';  ?>">
10             <div  onclick="jumpButton(\'prev\', this)" class="kecheng_03_button_left button2" style="width: 50px; margin-left: 120px;">prev</div>
11             <div  onclick="jumpButton(\'next\', this)" class="kecheng_03_button_right button2" style="width: 50px; margin-left: 290px;">next</div>
12         </div>
13 
14         <div class="kecheng_03_content">
15             <div class="xuan">
16                 <div data-num="1" onclick="jumpContent(this)">
17                     <img data-videosrc="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/1.mp4\';  ?>" src="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/1.png\';  ?>">
18                 </div>
19 
20                 <div data-num="2" onclick="jumpContent(this)">
21 
22                     <img data-videosrc="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/2.mp4\';  ?>" src="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/2.png\';  ?>">
23                 </div>
24 
25                 <div data-num="3" onclick="jumpContent(this)">
26 
27                     <img data-videosrc="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/3.mp4\';  ?>" src="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/3.png\';  ?>">
28                 </div>
29                 <div data-num="4" onclick="jumpContent(this)">
30 
31                     <img data-videosrc="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/4.mp4\';  ?>" src="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/4.png\';  ?>">
32                 </div>
33                 <div data-num="5" onclick="jumpContent(this)">
34 
35                     <img data-videosrc="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/5.mp4\';  ?>" src="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/5.png\';  ?>">
36                 </div>
37 
38             </div>
39 
40 
41         </div>
42     </div>

 

第9行: 设置了 data-num="1" data-totalnum="5" data-subsrc="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/\'; ?>"

data-num 当前的播放的是第一个视频,        data-totalnum 总共视频是 5个.    data-subsrc 视频存放的上级地址.     视频播放地址 =  data-subsrc + 1.mp4

 

第 16- 18行:

                  <div data-num="1" onclick="jumpContent(this)">
17                     <img data-videosrc="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/1.mp4\';  ?>" src="<?php echo PROJECT . \'Application/View/Home/Course/dzsk/video/1.png\';  ?>">
18                 </div>

data-num 表示点击这个图片,对应的视频是 1.mp4

data-videoserc 表示的这个图片对应的视频地址.

 

2-2: 上一个,下一个对应的js 函数.

 1           /**
 2      * [jumpButton 点击上下按钮切换视频]
 3      * @param  {[type]} dirc [description]
 4      * @param  {[type]} node [description]
 5      * @return {[type]}      [description]
 6      */
 7     function jumpButton(dirc, node)
 8     {
 9         // alert(\'11111\');
10         if (dirc == \'prev\') {
11             // alert(\'2222\');
12             //总的视频数:
13             var totalnum = Number($(node).parents(\'.kecheng_03_button\').attr(\'data-totalnum\'));
14             // console.log(\'totalnum\', totalnum);
15             // console.log(typeof totalnum);
16             //视频地址:
17             var subsrc = $(node).parents(\'.kecheng_03_button\').attr(\'data-subsrc\');
18             //当前地址:
19             var nownum = Number($(node).parents(\'.kecheng_03_button\').attr(\'data-num\'));
20 
21             if (nownum == 1) {
22                 var nextnum = 1;
23             } else{
24                 var nextnum = nownum - 1;
25                 
26             };
27 
28             //添加html:
29             $(".kecheng_03_video").remove();
30             $(".kecheng_03_button").remove();
31 
32             var str = \'\';
33             str +=     \'<div class="kecheng_03_video">\'
34                 +        \'<video  controls preload="none">\'
35                 +          \'<source src="\' +subsrc+nextnum+\'.mp4" type="video/mp4">\'
36                 +        \'</video>\'
37                 +    \'</div>\'
38 
39                 +    \'<div class="kecheng_03_button" data-num="\' +nextnum+ \'" data-totalnum="\' +totalnum+ \'" data-subsrc="\' +subsrc+ \'">\'
40                 +        \'<div  onclick="jumpButton(\\\'prev\\\',this)" class="kecheng_03_button_left button2" style="width: 50px; margin-left: 120px;">prev</div>\'
41                 +        \'<div  onclick="jumpButton(\\\'next\\\',this)" class="kecheng_03_button_right button2" style="width: 50px; margin-left: 290px;">next</div>\'
42                 +    \'</div>\';
43 
44             $(".kecheng_03_content").before(str);
45 
46         }
47 
48         if (dirc == \'next\') {
49 
50             //总的视频数:
51             var totalnum = Number($(node).parents(\'.kecheng_03_button\').attr(\'data-totalnum\'));
52             // console.log(\'totalnum\', totalnum);
53             // console.log(typeof totalnum);
54             //视频地址:
55             var subsrc = $(node).parents(\'.kecheng_03_button\').attr(\'data-subsrc\');
56             //当前地址:
57             var nownum = Number($(node).parents(\'.kecheng_03_button\').attr(\'data-num\'));
58 
59             if (nownum == totalnum) {
60                 var nextnum = totalnum;
61                 
62             } else{
63                 var nextnum = nownum + 1;
64                 
65             };
66 
67             //添加html:
68             $(".kecheng_03_video").remove();
69             $(".kecheng_03_button").remove();
70 
71             var str = \'\';
72             str +=     \'<div class="kecheng_03_video">\'
73                 +        \'<video  controls preload="none">\'
74                 +          \'<source src="\' +subsrc+nextnum+\'.mp4" type="video/mp4">\'
75                 +        \'</video>\'
76                 +    \'</div>\'
77 
78                 +    \'<div class="kecheng_03_button" data-num="\' +nextnum+ \'" data-totalnum="\' +totalnum+ \'" data-subsrc="\' +subsrc+ \'">\'
79                 +        \'<div  onclick="jumpButton(\\\'prev\\\',this)" class="kecheng_03_button_left button2" style="width: 50px; margin-left: 120px;">prev</div>\'
80                 +        \'<div  onclick="jumpButton(\\\'next\\\',this)" class="kecheng_03_button_right button2" style="width: 50px; margin-left: 290px;">next</div>\'
81                 +    \'</div>\';
82 
83             $(".kecheng_03_content").before(str);
84 
85         };
86     }

 

2.3 滚动条中的图片点击触发的函数.

 1     
 2         /**
 3      * [jumpContent 滚动条选择视频]
 4      * @param  {[type]} node [description]
 5      * @return {[type]}      [description]
 6      */
 7     function jumpContent(node)
 8     {
 9         //当前点击的视频:
10         var nownum = Number($(node).attr("data-num"));
11         //视频的地址:
12         // var src = $(node).find(\'source\').attr("src");
13         var src = $(node).find(\'img\').attr("data-videosrc");
14 
15         //视频总数:
16         var totalnum = $(\'.kecheng_03_button\').attr(\'data-totalnum\');
17         //sub地址:
18         var subsrc = $(\'.kecheng_03_button\').attr(\'data-subsrc\');
19 
20 
21         //添加html:
22         $(".kecheng_03_video").remove();
23         $(".kecheng_03_button").remove();
24 
25         var str = \'\';
26         str +=     \'<div class="kecheng_03_video">\'
27             +        \'<video  controls preload="none">\'
28             +          \'<source src="\' +src+ \'" type="video/mp4">\'
29             +        \'</video>\'
30             +    \'</div>\'
31 
32             +    \'<div class="kecheng_03_button" data-num="\' +nownum+ \'" data-totalnum="\' +totalnum+ \'" data-subsrc="\' +subsrc+ \'">\'
33             +        \'<div  onclick="jumpButton(\\\'prev\\\',this)" class="kecheng_03_button_left button2" style="width: 50px; margin-left: 120px;">prev</div>\'
34             +        \'<div  onclick="jumpButton(\\\'next\\\',this)" class="kecheng_03_button_right button2" style="width: 50px; margin-left: 290px;">next</div>\'
35             +    \'</div>\';
36 
37         $(".kecheng_03_content").before(str);
38 
39     }

 

所用的样式:

 1      /* ********课程 03************************** */
 2      .kecheng_03 {
 3          margin: 40px;
 4          margin-top: 0px;
 5          /*border: 1px solid red;*/
 6      }
 7 
 8      .kecheng_03_video {
 9          width: 95%;
10          /*height: 300px;*/
11          margin: 0px auto;
12      }
13 
14      .kecheng_03_video video {
15          /*width: 400px;*/
16          /*height: 300px;*/
17          width: 100%;
18      }
19 
20 
21 
22      .kecheng_03_content {
23          width: 100%;
24          height: 120px;
25          overflow-x: auto;
26          /*border: 1px solid red;*/
27          margin-top: 20px;
28      }
29 
30      .kecheng_03_content .xuan {
31          width: 750px;
32          font-size: 0px;
33          -webkit-text-size-adjust:none;
34      }
35 
36      .kecheng_03_content .xuan div {
37          width: 120px;
38          height: 90px;
39          display: inline-block;
40          margin-right: 20px;
41          box-shadow: 0px 0px 2px 2px #DBDBDB;
42 
43      }
44 
45      .kecheng_03_content .xuan div video {
46          width: 120px;
47          height: 90px;
48      }
49 
50      .kecheng_03_content .xuan div img {
51          width: 120px;
52          height: 90px;
53      }
 1     .button2 {
 2         background-color: #2A71A9;
 3         height: 30px;
 4         display: inline-block;
 5         font-size: 16px;
 6         font-weight: 700;
 7         color: #fff;
 8         line-height: 30px;
 9         text-align: center;
10         border-radius: 4px;
11 
12         margin-top: 10px;
13         margin-right: 10px;
14         padding: 0px 10px;
15         cursor: pointer;
16 
17     }

 

以上是关于1.横向滚动条,要设置两个div包裹. 2. 点击切换视频或者图片. overflow . overflow-x的主要内容,如果未能解决你的问题,请参考以下文章

html网页中图片横向滚动

如何控制DIV横向滚动条在顶部显示呢,不想每次在最下面去拖动

html锚点总结

怎样隐藏横向滚动条

div 如何加滚动条

js设置横向滚动条