轮播图用什么工具(大厂常用的轮播图)
在如今的网站首页,app首页,轮播的幻灯片几乎是必备的元素了,参考淘宝、微博,现在小编就来说说关于轮播图用什么工具?下面内容希望能帮助到你,我们来一起看看吧!
轮播图用什么工具
在如今的网站首页,app首页,轮播的幻灯片几乎是必备的元素了,参考淘宝、微博
微博banner
淘宝banner
可以用最少空间,展示丰富的内容,而且都是在最显眼的位置,可见其重要性。
这种功能,对于互联网前端开发来说,简直就是小菜一碟了,
今天我们就来看看如何实现:
为了实现代码的重用,我用PHP yii2框架,这是一个很好用的开发框架,我已经用了近10年的时间了,
功能非常容易封装,一般这种常用的小组件,都是封装成widgets进行使用:
先看代码组织架构:
资源文件
一般我们建立一个单独的目录,widgets,先看widget的定义
widgets/SlideWidget.php
namespace yoga\widgets;
use yii\base\Widget;
class SlideWidget extends Widget {
public $img_list;
public function init(){
parent::init();
}
public function run(){
return $this->render('slide', ['img_list' => $this->img_list]);
}
}
使用的html文件,也就是view文件,
widgets/views/slide.php
<style type="text/css">
.img_con{position: relative;}
.img_con div{position: absolute;top: 0px;left: 0px;opacity: 0}
</style>
<div class="img_con">
<?php foreach($img_list as $k=> $v):?>
<div class="<?php if($k==0)echo 'current';?>">
<img src="img/banner/<?=$v?>">
</div>
<?php endforeach;?>
</div>
js部分
<script type="text/javascript">
function slide(){
current = $('.current');
index = $('.current').index()
if(index == 2){
next = $('.img_con div:first')
}else{
next = $('.current').next();
}
current.removeClass('current').animate({'opacity':0});
next.addClass('current').animate({'opacity':1.0});
}
$('.current').css({'opacity':1.0});
setInterval("slide()", 3000);
</script>
实现原理就是动态改变div的opacity属性,此属性控制属性的透明度,div的隐藏和显示
间隔3s进行切换。
调用方法:
widget的调用一般是在MVC的V部分,就是view里,
在TestController.php,渲染img.php
通过参数可以给widget传递参数,是一个数组,对于widget里定义的属性,会自动赋值,非常的方便。
viewes/test/img.php
<?php
use yoga\widgets\SlideWidget;
use yii\web\JqueryAsset;
JqueryAsset::register($this);
//一般这里读取数据库数据
$img_list = ['1.png', '2.png', '3.png'];
echo SlideWidget::widget(['img_list' => $img_list]);
?>
展示效果图(不会做gif动图):
轮播
总结:
我们在代码开发,一定要注意代码的封装,第一次可能会麻烦一些,但是对后面的重用,会容易得多。
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com