您的位置:首页 > Web前端 > JavaScript

一款兼容性好,自动变化的javascript 祝贺词代码(根据不同的节日自动显示不同的祝贺词)

2014-03-05 00:58 447 查看
       做网站的时候,特别是给官方网站做门户网站,一般遇到一些节日,还得给员工显示些祝贺词,要是让我一个节日PS一个图然后改上去,那多麻烦,还是重复的活,作为一个程序员不应该做那么多重复的事情,呵呵,所以我一次性PS了一年内比较重视的几个节日 如春节,妇女节,劳动节,教师节(我还是学生,这是给学校做的网站提的Dan疼要求哦)分别命名为1.jpg,3.jpg,5.jpg,9.jpg ,然后用javascript 些个浮动图片的效果, 关键是在 html 的<img>标签中使用动态绑定src的路径,然后把获得的月份按照字符串拼接进去就实现了动态显示祝贺词的功能。
        当然,想到这里,当不需要祝贺词的节日只需要将对应的祝贺词隐藏就行了(因为本菜鸟不是专注做UI的,所以这里着实花了几个小时的时间),不过总算有了预期的成果,好了,拿出来和有类似需求的童鞋们分享一下



<!--advertisement code in html body-->
<body>
<!-- for advertisement  note: take the right pic path below and in ad.js path total four place-->
<div id="oImg" style="position: absolute; z-index: 100; top: 0; left: 0; width: 180px; height: 70px;">
<a href="http://gh.swpu.edu.cn" target="_blank">
<img src="festival/3.jpg" id='imgId' style='display:none'/>
</a>
</div>
<script type="text/javascript" src="festival/ad.js"></script>
<!--end  for advertisement -->
</body>


// out link javascript code in ad.js

window.onload = function()
{
var img = document.getElementById('imgId');
var src = img.getAttribute('src');
// care the right file path : festival/
var month = (new Date().getMonth()+1).toString();
//alert(month);
if(month == '1' ||month == '3' || month == '5' || month == '9'||month == '10' )
{
img.setAttribute('src','festival/'+month+'.jpg');
img.style.display = "block";
}
else
{
var div = document.getElementById('oImg');
img.style.display = "none";
div.style.display  = "none";   //隐藏而不删除

}

};

var floatImg = document.getElementById("oImg");
var delay = 10; //控制每次执行间隔的时间,做越大移动得越慢;
var speed = 1; //控制每次执行移动的距离,值越大移动得越快;
var flagX = 0;
var flagY = 0;

function toPixel(str1) {
//该函数用于去掉数值后面的px,并将之转化为数字。
var oldLen = str1.length;
var newLen = oldLen - 2;

str2 = str1.slice(0, newLen);
str3 = parseInt(str2);

return str3;
}

function flowImg() {
var bWidth = document.body.clientWidth;
var bHeight = document.body.clientHeight;
var bLeft = document.body.scrollLeft;
var bTop = document.body.scrollTop;

var iWidth = floatImg.offsetWidth;
var iHeight = floatImg.offsetHeight;
var iLeft = toPixel(floatImg.style.left);
var iTop = toPixel(floatImg.style.top);

//下面一段控制横向移动
if(iLeft < (bWidth - iWidth) && flagX == 0) {
floatImg.style.left = (iLeft + speed) + "px";
}
else if(iLeft >= (bWidth - iWidth) && flagX ==0) {
flagX = 1;
}
else if(iLeft > 0 && flagX == 1) {
floatImg.style.left = (iLeft - speed) + "px";
}
else if(0 >= iLeft && flagX == 1) {
flagX = 0;
}

//下面一段控制纵向移动
if(iTop < (bHeight - iHeight) && flagY == 0) {
floatImg.style.top = (iTop + speed) + "px";
}
else if(iTop >= (bHeight - iHeight) && flagY ==0) {
flagY = 1;
}
else if(iTop > 0 && flagY == 1) {
floatImg.style.top = (iTop - speed) + "px";
}
else if(0 >= iTop && flagY == 1) {
flagY = 0;
}
}

var imgInterval = setInterval("flowImg()", delay);
floatImg.onmouseover = function() {clearInterval(imgInterval);}
floatImg.onmouseout = function() {imgInterval = setInterval("flowImg()", delay);}

注意:我的图片和ad.js文件都是在和html 文件同级festival 文件夹下

下面呈上我用到的几张素材祝贺词图片,如果有需要的直接下载下来改下名字就行了(最后一张图片无法显示,我把原版的javascript 文件 改后缀后上传了

,要下载的自便):













内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐