js常用样式---持续更新

图片平铺,无论怎么缩小浏览器窗口都始终处于居中状态

/*
		* 1.当视口调整时( window.onresize() )动态改变背景图的位置(img.backgroundPositionX),
		 向左侧移动的距离 = (设计图最大宽度 - 视口宽度)/2
		 让其使用位于元素的中心处

		 2.当视口宽度(viewPortWidth)小于 UI 实际图最小宽度(minWidth)时,不再调整背景图位置
		 3.由于上述逻辑具有通用性,可以封装成一个 function(),以便后续项目使用
		* */
		//1.获取当前视口的大小
		var viewWidth = document.documentElement.clientWidth;
		//2.图片的大小
		var bgimgWidth = 1920;
		//3.让图片始终保持居中
		var positionX = (1920-viewWidth)/2;
		 var dom = document.querySelector(".bgimg"); //获取平铺图片的div
		dom.style.backgroundPositionX = -positionX + 'px';  
		//4.绑定 事件
		window.onresize = function(){
			var viewWidth = document.documentElement.clientWidth;
			var positionX = (1920-viewWidth)/2;
			//当显示窗口小于1000px时 图片不在处于居中状态
			if (viewWidth<1000){
				return;
			}
			var dom = document.querySelector(".bgimg");
			dom.style.backgroundPositionX = -positionX + 'px';
		}

这样写不利于项目的维护,代码繁琐  所以将其封装成一个函数 代码如下项目可直接使用

            //1.获取当前视口的大小
		var viewWidth = document.documentElement.clientWidth;
		//2.图片的大小
		var bgimgWidth = 1920;
		//3.让图片始终保持居中
		 var dom = document.querySelector(".bgimg");
		changeCenter(1920,viewWidth,1000,dom);
		//4.绑定事件    onresize 事件会在窗口或框架被调整大小时发生。
			window.onresize = function(){
			var viewWidth = document.documentElement.clientWidth;
			changeCenter(1920,viewWidth,1000,dom);
		}
		/*
		* bgimgWidth  图片原始大小
		* viewWidth		当前窗口大小
		* viewMinWidth	最小大小
		*dom	dom对象
		* */
		function changeCenter (bgimgWidth,viewWidth,viewMinWidth,dom){
			if (viewWidth<viewMinWidth){
				return;
			}
			var positionX = (bgimgWidth-viewWidth)/2;
			dom.style.backgroundPositionX = -positionX + 'px';
		}

鼠标划上 图片逐渐变大

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <style type="text/css">  
            div{  
                width: 300px;  
                height: 300px;  
                border: #000 solid 1px;  
                margin: 50px auto;  
                overflow: hidden;  
            }  
            div img{  
                cursor: pointer;  
                transition: all 0.6s;  
            }  
            div img:hover{  
                transform: scale(1.4);  
            }  
        </style>  
    </head>  
    <body>  
        <div>  
            <img src="img/focus.png" />  
        </div>  
    </body>  
</html>  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`avue-draggable`是一个Vue.js的插件,它能够让你轻松地实现拖拽功能。下面是该插件的使用手册: ### 安装 你可以使用npm或yarn来安装`avue-draggable`: ```bash # 使用npm安装 npm install avue-draggable --save # 使用yarn安装 yarn add avue-draggable ``` ### 引入 在Vue.js应用中,你需要在组件中引入`avue-draggable`插件: ```javascript import draggable from 'avue-draggable' export default { ... components: { draggable }, ... } ``` ### 使用 在组件中使用`draggable`插件: ```html <template> <div> <draggable v-model="list"> <div v-for="(item, index) in list" :key="index">{{ item }}</div> </draggable> </div> </template> ``` 在上面的代码中,`v-model`指令用于双向数据绑定,它将`draggable`插件中的`list`属性和组件中的列表数据进行了绑定。`v-for`指令用于循环渲染列表数据,而`key`属性则用于标识每个列表项。 ### API `avue-draggable`插件提供了多个API,以下是一些常用的API: #### `v-model` `v-model`指令用于双向数据绑定,它将`draggable`插件中的列表数据和组件中的数据进行了绑定。当你拖拽列表项时,`list`属性将会自动更新,从而实现了数据的双向绑定。 ```html <draggable v-model="list"> ... </draggable> ``` #### `transition-duration` `transition-duration`属性用于设置拖拽动画的持续时间(以毫秒为单位)。默认值为`200`毫秒。 ```html <draggable v-model="list" :transition-duration="300"> ... </draggable> ``` #### `transition-mode` `transition-mode`属性用于设置拖拽动画的模式。可选值为`out-in`(默认值)和`in-out`。 ```html <draggable v-model="list" :transition-mode="'in-out'"> ... </draggable> ``` #### `ghost-class` `ghost-class`属性用于设置拖拽时占位符的样式。 ```html <draggable v-model="list" :ghost-class="'my-ghost-class'"> ... </draggable> ``` #### `handle` `handle`属性用于设置拖拽时的手柄元素。只有当拖拽手柄元素时,列表项才会被拖拽。 ```html <draggable v-model="list" handle=".my-handle"> <div v-for="(item, index) in list" :key="index"> <div class="my-handle">拖拽手柄</div> <div class="my-content">{{ item }}</div> </div> </draggable> ``` #### `clone` `clone`属性用于设置是否复制拖拽元素。默认值为`false`,即不复制。 ```html <draggable v-model="list" :clone="true"> ... </draggable> ``` #### `tag` `tag`属性用于设置拖拽元素的标签名。默认值为`div`。 ```html <draggable v-model="list" :tag="'ul'"> ... </draggable> ``` ### 总结 `avue-draggable`是一个强大的Vue.js插件,它可以让你轻松地实现拖拽功能。在使用这个插件时,你需要先安装它,然后在组件中引入它,最后在组件中使用它即可。此外,`avue-draggable`还提供了多个API,你可以根据自己的需求来选择使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值