本文实例讲述了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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/8302
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我