织梦dedecms自动调用轮播图/幻灯片实例图文教程

分类:站长 时间:2021-05-31 14:21 浏览:26458
概述
备注:以下示例是以自动调取轮播图为例,具体使用时:步骤不变,内容据实调整即可一、创建:1、新建模型:2、在新模型下依次添加字段:【本例字段:datu、xiaotu,分别给PC端和手机端用,据实调整即可】3、新建栏目,模型选择刚刚新建的,并隐藏栏目:4、在该栏目下新建相应文档:【本例加4张轮播图】二、调用:1、加函数:在include/extend.func.php中添加:function GetOneImgUrl($img,$
内容

备注:

以下示例是以自动调取轮播图为例,具体使用时:步骤不变,内容据实调整即可。

一、创建:

1、新建模型:

01.png


2、在新模型下依次添加字段:

【本例字段:datu、xiaotu,分别给PC端和手机端用,据实调整即可】

02.png

03.png



3、新建栏目,模型选择刚刚新建的,并隐藏栏目:


04.png


4、在该栏目下新建相应文档:

【本例加4张轮播图】

05.png

06.png


二、调用:

1、加函数:

include/extend.func.php中添加:

function GetOneImgUrl($img,$ftype=1){  
    if($img != ''){  
        $dtp = new DedeTagParse();  
        $dtp->LoadSource($img);  
        if(is_array($dtp->CTags)){  
            foreach($dtp->CTags as $ctag){  
                if($ctag->GetName()=='img'){  
                    $width = $ctag->GetAtt('width');  
                    $height = $ctag->GetAtt('height');  
                    $imgurl = trim($ctag->GetInnerText());  
                    $img = '';  
                    if($imgurl != ''){  
                        if($ftype==1){  
                        $img .= $imgurl;  
                        }  
                        else{  
                        $img .= $imgurl.'" width="'.$width.'" height="'.$height.'" />';  
                        }  
                    }  
     
                }  
            }  
        }  
        $dtp->Clear();  
        return $img;  
    }  
}


代码如上?;截图如下?

07.png


2、调用:

①写法(这个下面将做成实例):

<ul>
{dede:arclist typeid='8' addfields='datu' channelid='19' limit='0,4' orderby='weight' orderway='asc'}
<li>
<img src="[field:datu function='GetOneImgUrl(@me,1)'/]">
</li>
{/dede:arclist}
</ul>


或者这样写(两个一样,看轮播特效回来怎么调用,灵活变动):

②写法

<ul>
          {dede:arclist typeid='14' addfields='datu' channelid='17' limit='0,4' orderby='weight' orderway='asc'}
            [field:weight runphp=yes]
            $fields =  @me;
            if($fields == 1){
                @me = '<li id="lb'.$fields.'" class="selected">';
            }else{
                @me = '<li id="lb'.$fields.'">';
            }
            [/field:weight]
          <div class="lb_img"><img src="[field:datu function='GetOneImgUrl(@me,1)'/]"></div>
        </li>
          {/dede:arclist} 
</ul>


代码如上?;截图如下?

08.png


三、轮播特效实例:


<head>
<style type="text/css">
		* {padding: 0;margin: 0;font-family: "微软雅黑";font-size: 14px;}
		ul,li {list-style: none;}
		a {text-decoration: none;color: black;}
		.box{width: 800px;height: 400px;margin: 20px auto;overflow: hidden;position: relative;}
		.box-1 ul{}
		.box-1 ul li{width: 800px;height: 400px;position: relative;overflow: hidden;}
		.box-1 ul li img{display:block;width: 800px; height: 400px;}
		.box-1 ul li h2{position: absolute;left: 0;bottom: 0;height: 40px;width:300px;background: rgba(125,125,120,.4);text-indent: 2em;
						padding-right:500px ;font-size: 15px;line-height: 40px;text-overflow: ellipsis;overflow: hidden;
						white-space: nowrap;font-weight: normal;color: ghostwhite}
		.box-2{position: absolute;right: 10px;bottom: 14px;}
		.box-2 ul li{float:left;width: 12px;height: 12px;overflow: hidden; margin: 0 5px; border-radius: 50%;
						background: rgba(0,0,0,0.5);text-indent: 100px;cursor: pointer;}
		.box-2 ul .on{background: rgba(255,255,255,0.6);}
		.box-3 span{position: absolute;color: white;background: rgba(125,125,120,.3);width: 50px;height: 80px;
						top:50%; font-family: "宋体";line-height: 80px;font-size:60px;margin-top: -40px;
						text-align: center;cursor: pointer;}
		.box-3 .prev{left: 10px;}
		.box-3 .next{right: 10px;}
		.box-3 span::selection{background: transparent;}
		.box-3 span:hover{background: rgba(125,125,120,.8);}
	</style>
	<script type="text/javascript">
		window.onload = function(){
			function $(param){
				if(arguments[1] == true){
					return document.querySelectorAll(param);
				}else{
					return document.querySelector(param);
				}
			}
			var $box = $(".box");
			var $box1 = $(".box-1 ul li",true);
			var $box2 = $(".box-2 ul");
			var $box3 = $(".box-3");
			var $length = $box1.length;
			
			var str = "";
			for(var i =0;i<$length;i++){
				if(i==0){
					str +="<li class='on'>"+(i+1)+"</li>";
				}else{
					str += "<li>"+(i+1)+"</li>";
				}
			}
			$box2.innerHTML = str;
			
			var current = 0;
			
			var timer;
			timer = setInterval(go,1000);
			function go(){
				for(var j =0;j<$length;j++){
					$box1[j].style.display = "none";
					$box2.children[j].className = "";
				}
				if($length == current){
					current = 0;
				}
				$box1[current].style.display = "block";
				$box2.children[current].className = "on";
				current++;
			}
			
			for(var k=0;k<$length;k++){
				$box1[k].onmouseover = function(){
					clearInterval(timer);
				}
				$box1[k].onmouseout = function(){
					timer = setInterval(go,1000);
				}
			}
			for(var p=0;p<$box3.children.length;p++){
				$box3.children[p].onmouseover = function(){
					clearInterval(timer);
				};
				$box3.children[p].onmouseout = function(){
					timer = setInterval(go,1000);
				}
			}
			
			for(var u =0;u<$length;u++){
				$box2.children[u].index  = u;
				$box2.children[u].onmouseover = function(){
					clearInterval(timer);
					for(var j=0;j<$length;j++){
						$box1[j].style.display = "none";
						$box2.children[j].className = "";
					}
					this.className = "on";
					$box1[this.index].style.display = "block";
					current = this.index +1;
				}
				$box2.children[u].onmouseout = function(){
					timer = setInterval(go,1000);
				}
			}
			
			$box3.children[0].onclick = function(){
				back();
			}
			$box3.children[1].onclick = function(){
				go();
			}
			function back(){
				for(var j =0;j<$length;j++){
					$box1[j].style.display = "none";
					$box2.children[j].className = "";
				}
				if(current == 0){
					current = $length;
				}
				$box1[current-1].style.display = "block";
				$box2.children[current-1].className = "on";
				current--;
			}
		}
	</script>

</head>
<body>
<div class="box">
	<div class="box-1">
		<!--自动重复-->
		<ul>
			{dede:arclist typeid='8' addfields='datu' channelid='19' limit='0,4' orderby='weight' orderway='asc'}
			<li>
			<img src="[field:datu function='GetOneImgUrl(@me,1)'/]">
			</li>
			{/dede:arclist}
		</ul>
		<!--自动重复-->
	</div>
	<div class="box-2">
				<ul>
					
				</ul>
	</div>
	<div class="box-3">
		<span class="prev"> < </span>
		<span class="next"> > </span>
	</div>
</div>
</body>


到此dede织梦调用轮播图就结束了,如果还不会,可以联系Q1213136159解决。

评论
  • 猎伞底部波浪
  • 猎伞底部波浪
  • 猎伞底部波浪
  • 猎伞底部波浪

我的

足迹

投稿

反馈

客服

猎伞官方客服

客服QQ:104****84 (点击直接对话)

客服电话:400****16(查看完整电话)

客服邮箱:service@liesan.com

管理仅处理交易投诉、举报、帐号、资金等平台使用问题;
商品问题请咨询各商品详情页面中显示的商家客服QQ。

正常模式精简模式

返回顶部