jquery实现可旋转可拖拽的文字效果代码
作者:bea
本文实例讲述了jquery实现可旋转可拖拽的文字效果代码。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <html> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" sr
本文实例讲述了jquery实现可旋转可拖拽的文字效果代码。分享给大家供大家参考,具体如下:
运行效果截图如下:
具体代码如下:
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" >
function scaleXBlock(blocker, scaleX){
blocker.css({
"-moz-transform": 'scaleX(' + scaleX + ')' ,
"-webkit-transform": 'scaleX(' + scaleX + ')' ,
"-o-transform": 'scaleX(' + scaleX + ')',
"-ms-transform": 'scaleX(' + scaleX + ')',
"transform": 'scaleX(' + scaleX + ')'
});
}
function getPosition(event){
return {
x: parseInt(event.pageX || event.X),
y: parseInt(event.pageY || event.Y)
}
}
function cancelEvent(event){
if(event.preventDefault ) {
event.preventDefault();
} else {
//IE中阻止函数器默认动作的方式
event.returnValue = false;
}
return false;
}
function stopDrag(blocker){
blocker.data('draginfo', {
isDrag: false
});
blocker.css('cursor', "arrow");
}
function drag(blocker){
blocker.data('draginfo', {
isDrag: false
});
blocker.css("position", "absolute");
blocker.mousedown(function(event){
event = event || window.event;
var position = getPosition(event),
offset = blocker.offset(),
offsetX = position.x - parseInt(offset.left),
offsetY = position.y - parseInt(offset.top);
blocker.css('cursor', "move");
blocker.data('draginfo', {
isDrag: true,
offsetX: offsetX,
offsetY: offsetY
});
cancelEvent(event);
});
blocker.mouseup(function(){
stopDrag($(this));
});
$(document).mousemove(function(event){
var dragInfo = blocker.data('draginfo');
if(!dragInfo.isDrag) {
return;
}
event = event || window.event;
var position = getPosition(event),
x = position.x - dragInfo.offsetX,
y = position.y - dragInfo.offsetY;
blocker.css({
"left": x + "px",
"top": y + "px"
});
cancelEvent(event);
}).mouseup(function(){
stopDrag(blocker);
});
}
function loopScaleXBlock(timeout, mode, blocker, scaleX){
scaleXBlock(blocker, scaleX);
setTimeout(function(){
if(mode == "bigger") {
if(scaleX < 1) {
scaleX += 0.05;
} else {
mode = "smaller";
scaleX = 1;
}
} else {
if(scaleX > 0) {
scaleX -= 0.05;
} else {
mode = "bigger";
scaleX = 0.05;
}
}
loopScaleXBlock(timeout, mode, blocker, scaleX);
}, timeout);
}
function initDrag(){
var dragList = $(".drag");
for(var i=0,length=dragList.length; i<length; i++) {
drag($(dragList[i]));
}
}
function initScaleX(){
var scaleXList = $(".scale");
for(var i=0,length=scaleXList.length; i<length; i++) {
loopScaleXBlock(10 * i + 10, "smaller", $(scaleXList[i]), 1);
}
}
$(document).ready(function(){
initScaleX();
initDrag();
});
</script>
<style type="text/css" >
body
{
margin:0;
background:black;
}
.block
{
position: absolute;
text-align: center;
display: block;
width: 250px;
height: 250px;
background: #494949;
font-size: 80px;
color: #fff;
line-height: 125px;
text-shadow: 2px 2px 2px #fff;
box-shadow: 2px 2px 2px #fff;
cursor: pointer;
opacity: 0.6;
filter: alpha(opacity=60);
}
#scale
{
left:0;
top:0;
}
#scale2
{
left:300px;
top:0;
background: #F2F2F2;
color: orange;
}
#scale3
{
left:600px;
top:0;
background: orange;
color: #494949;
}
#scale4
{
left:900px;
top:0;
background: green;
color: gray;
}
#scale5
{
left:1200px;
top:0;
background: #494949;
color: orange;
}
</style>
</head>
<body>
<div class="block scale drag" id="scale">
欢迎来看咧
</div>
<div class="block scale drag" id="scale2">
欢迎来看咧
</div>
<div class="block scale drag" id="scale3">
欢迎来看咧
</div>
<div class="block scale drag" id="scale4">
欢迎来看咧
</div>
<div class="block scale drag" id="scale5">
欢迎来看咧
</div>
</body>
</html>
更多关于jQuery特效相关内容感兴趣的读者可查看本站专题:《jQuery常见经典特效汇总》及《jQuery动画与特效用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
有用 | 无用
运行效果截图如下:
具体代码如下:
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" >
function scaleXBlock(blocker, scaleX){
blocker.css({
"-moz-transform": 'scaleX(' + scaleX + ')' ,
"-webkit-transform": 'scaleX(' + scaleX + ')' ,
"-o-transform": 'scaleX(' + scaleX + ')',
"-ms-transform": 'scaleX(' + scaleX + ')',
"transform": 'scaleX(' + scaleX + ')'
});
}
function getPosition(event){
return {
x: parseInt(event.pageX || event.X),
y: parseInt(event.pageY || event.Y)
}
}
function cancelEvent(event){
if(event.preventDefault ) {
event.preventDefault();
} else {
//IE中阻止函数器默认动作的方式
event.returnValue = false;
}
return false;
}
function stopDrag(blocker){
blocker.data('draginfo', {
isDrag: false
});
blocker.css('cursor', "arrow");
}
function drag(blocker){
blocker.data('draginfo', {
isDrag: false
});
blocker.css("position", "absolute");
blocker.mousedown(function(event){
event = event || window.event;
var position = getPosition(event),
offset = blocker.offset(),
offsetX = position.x - parseInt(offset.left),
offsetY = position.y - parseInt(offset.top);
blocker.css('cursor', "move");
blocker.data('draginfo', {
isDrag: true,
offsetX: offsetX,
offsetY: offsetY
});
cancelEvent(event);
});
blocker.mouseup(function(){
stopDrag($(this));
});
$(document).mousemove(function(event){
var dragInfo = blocker.data('draginfo');
if(!dragInfo.isDrag) {
return;
}
event = event || window.event;
var position = getPosition(event),
x = position.x - dragInfo.offsetX,
y = position.y - dragInfo.offsetY;
blocker.css({
"left": x + "px",
"top": y + "px"
});
cancelEvent(event);
}).mouseup(function(){
stopDrag(blocker);
});
}
function loopScaleXBlock(timeout, mode, blocker, scaleX){
scaleXBlock(blocker, scaleX);
setTimeout(function(){
if(mode == "bigger") {
if(scaleX < 1) {
scaleX += 0.05;
} else {
mode = "smaller";
scaleX = 1;
}
} else {
if(scaleX > 0) {
scaleX -= 0.05;
} else {
mode = "bigger";
scaleX = 0.05;
}
}
loopScaleXBlock(timeout, mode, blocker, scaleX);
}, timeout);
}
function initDrag(){
var dragList = $(".drag");
for(var i=0,length=dragList.length; i<length; i++) {
drag($(dragList[i]));
}
}
function initScaleX(){
var scaleXList = $(".scale");
for(var i=0,length=scaleXList.length; i<length; i++) {
loopScaleXBlock(10 * i + 10, "smaller", $(scaleXList[i]), 1);
}
}
$(document).ready(function(){
initScaleX();
initDrag();
});
</script>
<style type="text/css" >
body
{
margin:0;
background:black;
}
.block
{
position: absolute;
text-align: center;
display: block;
width: 250px;
height: 250px;
background: #494949;
font-size: 80px;
color: #fff;
line-height: 125px;
text-shadow: 2px 2px 2px #fff;
box-shadow: 2px 2px 2px #fff;
cursor: pointer;
opacity: 0.6;
filter: alpha(opacity=60);
}
#scale
{
left:0;
top:0;
}
#scale2
{
left:300px;
top:0;
background: #F2F2F2;
color: orange;
}
#scale3
{
left:600px;
top:0;
background: orange;
color: #494949;
}
#scale4
{
left:900px;
top:0;
background: green;
color: gray;
}
#scale5
{
left:1200px;
top:0;
background: #494949;
color: orange;
}
</style>
</head>
<body>
<div class="block scale drag" id="scale">
欢迎来看咧
</div>
<div class="block scale drag" id="scale2">
欢迎来看咧
</div>
<div class="block scale drag" id="scale3">
欢迎来看咧
</div>
<div class="block scale drag" id="scale4">
欢迎来看咧
</div>
<div class="block scale drag" id="scale5">
欢迎来看咧
</div>
</body>
</html>
更多关于jQuery特效相关内容感兴趣的读者可查看本站专题:《jQuery常见经典特效汇总》及《jQuery动画与特效用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
- 基于javascript实现动态显示当前系统时间
- jQuery实现div随意拖动的实例代码(通用代码)
- jQuery+css实现炫目的动态块漂移效果
- 使用node+vue.js实现SPA应用
- jQuery+css实现的tab切换标签(兼容各浏览器)
- javascript实现随机显示星星特效
- 基于javascript实现全国省市二级联动下拉选择菜单
- JS实现动态生成表格并提交表格数据向后端
- jQuery+css实现的时钟效果(兼容各浏览器)
- jQuery实现的分子运动小球碰撞效果
- jQuery+css3实现转动的正方形效果(附demo源码下载)
- 不用一句js代码初始化组件
- jQuery实现可以控制图片旋转角度效果(附demo源码下载)
- 封装属于自己的JS组件
- js+css绘制颜色动态变化的圈中圈效果
- Bootstrap树形控件使用方法详解
- window.onerror()的用法与实例分析
- 用window.onerror捕获并上报Js错误的方法