封一个js元素页面飘动的方法

本文介绍了一种使用jQuery实现页面元素自动飘动效果的方法,通过设置元素的初始位置、移动速度,使元素在页面中左右上下随机移动,同时提供了hover效果暂停移动的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

封一个js元素页面飘动的方法
这是代码
/*

  • speed //元素移动速度
  • xPos //元素一开始左距离
  • yPos //元素一开始上距离
    */

(function($) {

jQuery.fn.imgFloat = function(options) {
    var own = this;
    var xD = 0;
    var yD = 0;
    var i = 1;
    var settings = {
        speed: 15,
        xPos: 0,
        yPos: 0
    };
    jQuery.extend(settings, options);
    var ownTop = settings.xPos;
    var ownLeft = settings.yPos;
    own.css({
        position: "absolute",
        cursor: "pointer"
    });

    function imgPosition() {
        var winWidth = $(window).width() - own.width();
        var winHeight = $(window).height() - own.height();
        if (xD == 0) {
            ownLeft += i;
            own.css({
                left: ownLeft
            });
            if (ownLeft >= winWidth) {
                ownLeft = winWidth;
                xD = 1;
            }
        }
        if (xD == 1) {
            ownLeft -= i;
            own.css({
                left: ownLeft
            });
            if (ownLeft <= 0) xD = 0;
        }
        if (yD == 0) {
            ownTop += i;
            own.css({
                top: ownTop
            });
            if (ownTop >= winHeight) {
                ownTop = winHeight;
                yD = 1;
            }
        }
        if (yD == 1) {
            ownTop -= i;
            own.css({
                top: ownTop
            });
            if (ownTop <= 0) yD = 0;
        }
    }
    var imgHover = setInterval(imgPosition, settings.speed);
    own.hover(function() {
            clearInterval(imgHover);
        },
        function() {
            imgHover = setInterval(imgPosition, settings.speed);
        });
}

})(jQuery);

//$("#div1").imgFloat(); //不给参数默认(speed:10,xPos:0,yPos:0)
$("#div1").imgFloat({
speed: 30,
xPos: 10,
yPos: 10
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值