登录 注册

登录

已解决 首页文章漂浮公告图片

更多
2013年02月22日 23:08 #1 作者: iepjunlin
有没有能在首页显示出一个漂浮图片的扩展,能编辑图片大小和链接。图片最好能够全屏自动浮动,就是飘到边缘自动弹回来的效果

谢谢诸位

登录 或者   注册一个会员帐号 来参与讨论

更多
2013年02月23日 07:56 #2 作者: Joomla之门
Joomla 扩展中目前还没有这样的 —— 大概国外开发人员觉得这种飞来飞去的广告有点“闹”吧。

如果你能找到相关的 JS 代码,也可以用“自定义 HTML”模块来实现。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2013年02月23日 12:08 - 2013年02月23日 13:10 #3 作者: iepjunlin
白哥,我找到了这种代码
<div id="ad" style="position:absolute" mce_style="position:absolute" class="mceItemVisualAid"><a href="/" mce_href="../" target="_blank"><img src="http://www.mini88s.com/images/logo1.gif" mce_src="http://www.mini88s.com/images/logo1.gif" border="0"></a></div>
<mce:script type="text/javascript"><!--
var x = 0,y = 0 //浮动层的初始位置,分别对应层的初始X坐标和Y坐标 
var xin = true, yin = true //判断层的X坐标和Y坐标是否在在控制范围之内,xin为真是层向右移动,否则向左;yin为真是层向下移动,否则向上 
var step = 1 //层移动的步长,值越大移动速度越快 
var delay = 10 //层移动的时间间隔,单位为毫秒,值越小移动速度越快 
var obj=document.getElementById("ad") //捕获id为ad的层作为漂浮目标 
function floatAD() {
var L=10
var T=10 //层移动范围的左边界(L)和上边界(T)坐标 
var R= document.body.clientWidth-obj.offsetWidth-10 //层移动的右边界 
var B= document.body.clientHeight-obj.offsetHeight //层移动的下边界 
obj.style.left = x + document.body.scrollLeft //更新层的X坐标,实现X轴方向上的运动;document.body.scrollLeft为文档区域的滚动条向右拉的距离,以保证在滚动条右拉时层仍在可见范围内 
obj.style.top = y + document.body.scrollTop //更新层的Y坐标,实现Y轴方向上的运动;document.body.scrollTop为文档区域的滚动条向下拉的距离,以保证在滚动条下拉时层仍在可见范围内 
x = x + step*(xin?1:-1) //通过判断层的范围决定层在X轴上的运动方向 
if (x < L) { xin = true; x = L} //层超出左边界时的处理 
if (x > R){ xin = false; x = R} //层超出右边界时的处理 
y = y + step*(yin?1:-1) //通过判断层的范围决定层在Y轴上的运动方向 
if (y < T) { yin = true; y = T } //层超出上边界时的处理 
if (y > B ) { yin = false; y = B } //层超出下边界时的处理
}
var itl= setInterval("floatAD()", delay) //每delay秒执行一次floatAD函数 
obj.onmouseover=function(){clearInterval(itl)} //层在鼠标移上时清除上面的间隔事件,实现层在的鼠标移上时停止运动的效果 
obj.onmouseout=function(){itl=setInterval("floatAD()", delay)} //层在鼠标移开时开始间隔事件,实现层在的鼠标移开时继续运动的效果
// --></mce:script>

但是发布出去不能动,不知道为何
最后修改: 2013年02月23日 13:10 由 Joomla之门.

登录 或者   注册一个会员帐号 来参与讨论

更多
2013年02月23日 14:23 #4 作者: Joomla之门
你找到这个代码明显不能用于 Joomla 网站,而且,当你插入代码时,似乎被你的 TinyMCE 编辑器“编辑”了一下,所以代码里出现了很多 mce 标记。

建议将系统默认编辑器改为“无”,然后再去模块中插入代码。

继续寻找其它漂浮广告代码吧。找到了就一个一个测试,直到成功为止。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!
下列用户已致谢:: iepjunlin

登录 或者   注册一个会员帐号 来参与讨论

更多
2013年02月23日 17:00 #5 作者: iepjunlin
谢谢白哥,那能给一个js例子吗,可以直接复制上去就用的,我好参考一下

登录 或者   注册一个会员帐号 来参与讨论

更多
2013年02月23日 17:43 #6 作者: Joomla之门
在网上搜到一段代码,似乎可以实现漂浮,你试试看:
<script> 
var Rimifon = { 
"Ads" : new Object, 
"NewFloatAd" : function(imgUrl, strLink) 
{ 
var ad = document.createElement("a"); 
ad.DirV = true; 
ad.DirH = true; 
ad.AutoMove = true; 
ad.Image = new Image; 
ad.Seed = Math.random(); 
ad.Timer = setInterval("Rimifon.Float(" + ad.Seed + ")", 50); 
this.Ads[ad.Seed] = ad; 
ad.Image.Parent = ad; 
ad.style.position = "absolute"; 
ad.style.left = 0; 
ad.style.top = 0; 
ad.Image.src = imgUrl; 
ad.Image.onmouseover = function(){this.Parent.AutoMove = false;} 
ad.Image.onmouseout = function(){this.Parent.AutoMove = true;} 
if(strLink) 
{ 
ad.href = strLink; 
ad.Image.border = 0; 
ad.target = "_blank"; 
} 
ad.appendChild(ad.Image); 
document.body.appendChild(ad); 
return ad; 
}, 
"Float" : function(floatId) 
{ 
var ad = this.Ads[floatId]; 
if(ad.AutoMove) 
{ 
var curLeft = parseInt(ad.style.left); 
var curTop = parseInt(ad.style.top); 
if(ad.offsetWidth + curLeft > document.body.clientWidth + document.body.scrollLeft - 1) 
{ 
curLeft = document.body.scrollLeft + document.body.clientWidth - ad.offsetWidth; 
ad.DirH = false; 
} 
if(ad.offsetHeight + curTop > document.body.clientHeight + document.body.scrollTop - 1) 
{ 
curTop = document.body.scrollTop + document.body.clientHeight - ad.offsetHeight; 
ad.DirV = false; 
} 
if(curLeft < document.body.scrollLeft) 
{ 
curLeft = document.body.scrollLeft; 
ad.DirH = true; 
} 
if(curTop < document.body.scrollTop) 
{ 
curTop = document.body.scrollTop; 
ad.DirV = true; 
} 
ad.style.left = curLeft + (ad.DirH ? 1 : -1) + "px"; 
ad.style.top = curTop + (ad.DirV ? 1 : -1) + "px"; 
} 
} 
} 
</script>
 
<script> 
Rimifon.NewFloatAd("http://www.jb51.net/images/logo.gif", "http://www.baidu.com"); 
var ad = Rimifon.NewFloatAd("http://www.jb51.net/images/logo.gif"); 
ad.style.left = 500; 
ad.style.top = 456; 
ad.Image.width = 88; 
ad.Image.height = 31; 
</script> 

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2013年02月23日 23:22 #7 作者: iepjunlin
非常感谢白哥的耐心解答,问题解决
再次感谢

登录 或者   注册一个会员帐号 来参与讨论

更多
2013年03月19日 13:51 #8 作者: newspaper

白建鹏 写道: 在网上搜到一段代码,似乎可以实现漂浮,你试试看:

<script> 
var Rimifon = { 
"Ads" : new Object, 
"NewFloatAd" : function(imgUrl, strLink) 
{ 
var ad = document.createElement("a"); 
ad.DirV = true; 
ad.DirH = true; 
ad.AutoMove = true; 
ad.Image = new Image; 
ad.Seed = Math.random(); 
ad.Timer = setInterval("Rimifon.Float(" + ad.Seed + ")", 50); 
this.Ads[ad.Seed] = ad; 
ad.Image.Parent = ad; 
ad.style.position = "absolute"; 
ad.style.left = 0; 
ad.style.top = 0; 
ad.Image.src = imgUrl; 
ad.Image.onmouseover = function(){this.Parent.AutoMove = false;} 
ad.Image.onmouseout = function(){this.Parent.AutoMove = true;} 
if(strLink) 
{ 
ad.href = strLink; 
ad.Image.border = 0; 
ad.target = "_blank"; 
} 
ad.appendChild(ad.Image); 
document.body.appendChild(ad); 
return ad; 
}, 
"Float" : function(floatId) 
{ 
var ad = this.Ads[floatId]; 
if(ad.AutoMove) 
{ 
var curLeft = parseInt(ad.style.left); 
var curTop = parseInt(ad.style.top); 
if(ad.offsetWidth + curLeft > document.body.clientWidth + document.body.scrollLeft - 1) 
{ 
curLeft = document.body.scrollLeft + document.body.clientWidth - ad.offsetWidth; 
ad.DirH = false; 
} 
if(ad.offsetHeight + curTop > document.body.clientHeight + document.body.scrollTop - 1) 
{ 
curTop = document.body.scrollTop + document.body.clientHeight - ad.offsetHeight; 
ad.DirV = false; 
} 
if(curLeft < document.body.scrollLeft) 
{ 
curLeft = document.body.scrollLeft; 
ad.DirH = true; 
} 
if(curTop < document.body.scrollTop) 
{ 
curTop = document.body.scrollTop; 
ad.DirV = true; 
} 
ad.style.left = curLeft + (ad.DirH ? 1 : -1) + "px"; 
ad.style.top = curTop + (ad.DirV ? 1 : -1) + "px"; 
} 
} 
} 
</script>
 
<script> 
Rimifon.NewFloatAd("http://www.jb51.net/images/logo.gif", "http://www.baidu.com"); 
var ad = Rimifon.NewFloatAd("http://www.jb51.net/images/logo.gif"); 
ad.style.left = 500; 
ad.style.top = 456; 
ad.Image.width = 88; 
ad.Image.height = 31; 
</script> 



上面的代码是不错,但遇到一个问题, 如何让它在最上层显示, 有时它会跑到别的层下面移动,看不到. 代码怎么写.

登录 或者   注册一个会员帐号 来参与讨论