每天学一个jquery插件-做置顶插件1

每天一个jquery插件-做置顶插件1

做置顶插件1

效果如下
在这里插入图片描述

代码部分

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>做置顶特效</title>
		<script src="js/jquery-3.4.1.min.js"></script>
		<script src="js/zzdtx.js"></script>
		<style>
			*{
     
     
				margin: 0;
				padding: 0;
			}
			#test1{
     
     
				background-color: white;
				width: 100%;
				height: 1500px;
			}
			#test2{
     
     
				background-color: lightgray;
				width: 300px;
				height: 500px;
				overflow: auto;
			}
			#test3{
     
     
				background-color: gray;
				width: 200px;
				height: 700px;
			}
		</style>
	</head>
	<body>
		<div id="test1">
			<div id="test2">
				<div id="test3"></div>
			</div>
		</div>
	</body>
</html>
<script>
	$(function(){
     
     
		var temp1 = zzdtx("html");
		var temp2 = zzdtx("#test2");
		temp1.load();
		temp2.load();
	})
</script>
var zzdtx = function(id) {
    
    
	var $id = $(id);
	$id.css({
    
    
		"position": "relative"
	})
	var $btn = $("<div>↑</div>");
	$btn.css({
    
    
		"width": "50px",
		"height": "50px",
		"display": "flex",
		"justify-content": "center",
		"align-items": "center",
		"position": "absolute",
		"bottom": "10px",
		"right": "10px",
		"background-color": "white",
		"border":"1px solid lightgray",
		"font-size":"24px"
	})
	$btn.appendTo($id)
	return {
    
    
		$btn:$btn,
		$id: $id,
		load: function() {
    
    
			var that = this;
			that.$btn.click(function(){
    
    
				that.$id.stop().animate({
    
    
					scrollTop:'0px'
				})
			})
		}
	}
}

讲下想法

  • 一开始置顶我想的是就和我之前做的那个楼梯滚动用的置顶差不多,直接给找到粘贴就行了,不过感觉这样子做出来的一点进步都没有,所以就是做一个通用的置顶插件
  • 它的效果应该有这些①置顶状态下应该隐藏②当滑动一定距离按钮才改出现于消失③当点击置顶按钮的时候逐步的滑向顶部④滑动的时候应该还要有各种速度选择⑤此外应该设置不同的动画效果,比如基础的按钮替换成一根从上面往下放置的绳子,然后点击绳子的时候回配合动画绳子收放与遮罩界面播放动画,到后面结束动画回到顶部
  • 虽然我是这么想的,但是今天有一个问题一直没想到咋处理,就是我给这个容器始终定位在一个可视区域的地方没搞懂,之前html界面那是直接fixed定位就可以放在可视区域的指定位置,但是我在这里面的用浮动之后的absolute我的按钮会跟着滑动条一起走,这不是我想要的,但是今天没试出结果,容我先搜搜
  • 然后我上面说的效果大部分没完成,不过先期待一下,未完,溜了

猜你喜欢

转载自blog.csdn.net/weixin_44142582/article/details/113746199
今日推荐