js移动图片(怎么用javascript实现图片移动我只要一张图片向左移动一小段距离就好)

:暂无数据 2026-06-23 23:20:02 :0

js移动图片(怎么用javascript实现图片移动我只要一张图片向左移动一小段距离就好)

本篇文章给大家谈谈js移动图片,以及怎么用javascript实现图片移动我只要一张图片向左移动一小段距离就好对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

怎么用javascript实现图片移动我只要一张图片向左移动一小段距离就好

创建个DIV,把图片当里面,比如这样《div》《img href = “asd“》《/div》然后在DIV属性里加上position : absolute,具体是这样《div style = “position:absolute“》《div》

你要是前面都用HTML做了那直接var pic = getElementById(“你的DIV的ID号,要自己先前写好“)
或者var pic = getElementsByTagName(“div“)[你的页面里图片在第N个DIV里就写N-1]

然后调用setInterval
setInterval( “ pic.style.left -= 3“, 300);//每300毫秒 执行pic.style.left -= 3 一次
想停掉它调用clearInterval();
只想移动一次这样:setTimeout( “ pic.style.left -= 3“, 300);

全JS表示
var createDiv = document.createElement(“div“);
createDiv.style.height = “111px“;
createDiv.style.width = “111px“;
document.body.appendChild(createDiv);
createDiv.style.position = “absolute“;
createDiv.style.overflow = “visible“;//这里看你具体需要吧
createDiv.style.top = “111px“;
createDiv.style.left = “111px“;

var createImg = document.createElement(“img“);
createImg.setAttribute(“src“,“https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/logo-zhidao.gif“);
createImg.height = 111;
createImg.width = 111;
createDiv.appendChild(createImg);

setInterval( “ createDiv.style.left -= 3“, 300);

js控制鼠标移动图片

图片外边套一个和图片大小一样的div,设置div样式相对定位、或者绝对定位看你需要,div里边的标签用绝对定位,鼠标拖动时移动这个div,里边标签是会随着移动的,代码就别跟我要了,我比较懒得写这个

js实现左右点击按钮,图片横向循环移动,一次移动一张

给个思路吧,设装着所有图片的层为boxa,
它的父层为boxb,
点击移动的时候你把boxa向左移一张图片的宽度就是了,也就是点击的时候更改boxa的margin-left为负数,
boxb要设置over-flow为hidden
,
boxa要足够长

js中如何拖动DIV中的图片

实现思路:

①鼠标按下+鼠标移动 → 拖拽
②鼠标松开 → 无拖拽
③鼠标偏移 → 拖拽距离

用JavaScript事件方法表示就是:
① onmousedown + onmousemove → startDrag()
② onmouseup → stopDrag()


drag.js代码:

var params = {
left: 0,
top: 0,
currentX: 0,
currentY: 0,
flag: false
};
//获取相关CSS属性
var getCss = function(o,key){
return o.currentStyle? o.currentStyle[key] : document.defaultView.getComputedStyle(o,false)[key]; 
};

//拖拽的实现
var startDrag = function(bar, target, callback){
if(getCss(target, “left“) !== “auto“){
params.left = getCss(target, “left“);
}
if(getCss(target, “top“) !== “auto“){
params.top = getCss(target, “top“);
}
//o是移动对象
bar.onmousedown = function(event){
params.flag = true;
if(!event){
event = window.event;
//防止IE文字选中
bar.onselectstart = function(){
return false;
}  
}
var e = event;
params.currentX = e.clientX;
params.currentY = e.clientY;
};
document.onmouseup = function(){
params.flag = false;
if(getCss(target, “left“) !== “auto“){
params.left = getCss(target, “left“);
}
if(getCss(target, “top“) !== “auto“){
params.top = getCss(target, “top“);
}
};
document.onmousemove = function(event){
var e = event ? event: window.event;
if(params.flag){
var nowX = e.clientX, nowY = e.clientY;
var disX = nowX - params.currentX, disY = nowY - params.currentY;
target.style.left = parseInt(params.left) + disX + “px“;
target.style.top = parseInt(params.top) + disY + “px“;
}

if (typeof callback == “function“) {
callback(parseInt(params.left) + disX, parseInt(params.top) + disY);
}
}
};

HTML/CSS

《style type=“text/css“》
#box{position:absolute; left:100px; top:100px; padding:5px; background:#f0f3f9; font-size:12px; -moz-box-shadow:2px 2px 4px #666666; -webkit-box-shadow:2px 2px 4px #666666;}
#main{border:1px solid #a0b3d6; background:white;}
#bar{line-height:24px; background:#beceeb; border-bottom:1px solid #a0b3d6; padding-left:5px; cursor:move;}
#content{width:420px; height:250px; padding:10px 5px;}
《/style》
《div id=“box“》
    《div id=“main“》
        《div id=“bar“》拖拽《/div》
        《div id=“content“》
            内容……
        《/div》
    《/div》
《/div》

JS部分

《script src=“drag.js“ type=“text/javascript“》《/script》
《script type=“text/javascript“》
    var oBox = document.getElementById(“box“);
    var oBar = document.getElementById(“bar“);
    startDrag(oBar, oBox);
《/script》

javascript让图片移动的函数

/**
* 简单自定义动画函数
* @param {objec} obj 一个元素对象
* @param {string} pos 表示移动到的目标地点
* @param {number} speed 速度大小,表示每秒移动的像素数,默认为1px/100ms
* @param {function} callback 动画执行完后调用的函数
* @return {[object]} 元素自身,方便链式写法
*/
function ani(obj, pos, speed, callback) {
/* 清除无用的定时器 */
if (obj.move) {
clearTimeout(obj.move);
}

obj.style.position = “absolute“;

var speed = speed || 10,
x = parseInt(obj.style.left) || 0,
y = parseInt(obj.style.top) || 0;
/* 初始化元素的相关属性值 */
if (!obj.x) {
obj.x = x;
obj.y = y;
obj.fx = x + pos;
obj.fy = y + pos;
}
/* 如果元素到达指定位置,则跳出并执行回调函数 */
if (x === (pos + obj.x) && y === (pos + obj.y)) {
if (typeof callback === “function“) {
callback();
}
obj.x = null;
obj.y = null;
obj.fx = null;
obj.fy = null;
return obj;
}
/* 判断在水平方向上是应该往哪个方向移动 */
if (obj.x 《 obj.fx) {
if (x 《 obj.fx) {
obj.style.left = (x + speed) + “px“;
}
} else {
if (x 》 obj.fx) {
obj.style.left = (x - speed) + “px“;
}
}
/* 判断在垂直方向上是应该往哪个方向移动 */
if (obj.y 《 obj.fy) {
if (y 《 obj.fy) {
obj.style.top = (y + speed) + “px“;
}
} else {
if (y 》 obj.fy) {
obj.style.top = (y - speed) + “px“;
}
}

obj.move = setTimeout(function() {
ani(obj, pos, speed, callback);
}, 100);
}

window.onclick = function() {
ani($(“#testAni“), [100, 0], 5, function() {
ani($(“#testAni“), [-100, 0],null,function(){
alert(“success“)
});
})
}

可供参考

想做一个简单的JS图片移动,但是到后面就乱了

你设置的setTimeout没有及时消除,所以不同时间产生多个setTimeout对象,图片移动速度越来越快。这是修改后的,你看看,加了三个延时的标识符

《script type=“text/javascript“》 
    window.onload = function () { doMove(); doMove2(); doMove3();}
var t1;
var t2;
var t3;
    function doMove() {
        t1 = setTimeout(“doMove()“, 10);
        var aa = document.getElementById(“moveDiv“);
        var bb = parseInt(aa.style.left);
        aa.style.left = (bb - 1)+“px“;
        if (aa.style.left == 0+“px“) {
            clearTimeout(t1);
            t1=setTimeout(“doMove()“, 3000);
        }
        if (aa.style.left == -100 + “px“) {
            clearTimeout(t1);
            t1=setTimeout(“doMove()“, 3000);
        }
        if (aa.style.left == -200 + “px“) {
            clearTimeout(t1);
            t1=setTimeout(“doMove()“, 3000);
            aa.style.left = 100 + “px“;
        }
        if (aa.style.left == 100 + “px“) {
            clearTimeout(t1);
            t1=setTimeout(“doMove()“, 3000);
        }
    }
    function doMove2() {
        t2 = setTimeout(“doMove2()“, 10);
        var aa = document.getElementById(“moveDiv2“);
        var bb = parseInt(aa.style.left);
        aa.style.left = (bb - 1) + “px“;
        if (aa.style.left == 0 + “px“) {
            clearTimeout(t2);
            t2=setTimeout(“doMove2()“, 3000);
        }
        if (aa.style.left == -100 + “px“) {
            clearTimeout(t2);
            t2=setTimeout(“doMove2()“, 3000);
        }
        else { }
        if (aa.style.left == -200 + “px“) {
            clearTimeout(t2);
            t2=setTimeout(“doMove2()“, 3000);
            aa.style.left = 100 + “px“;
        }
        if (aa.style.left == 100 + “px“) {
            clearTimeout(t2);
            t2=setTimeout(“doMove2()“, 3000);
        }
    }
    
《/script》

为什么我用js控制图片移动,没有效果

你代码写错了,不是innerHtml而是innerHTML,不是offsetleft---是offsetLeft,setInterval使用也错了,正确的js代码如下:

《script language=“javascript“》
window.onload=function()
{
    var oDiv=document.getElementById(’body1’);
    var oUl=oDiv.getElementsByTagName(’ul’);
    oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
    setInterval(function(){
        oUl.style.left=oUl.offsetLeft-2+’px’;
        },30);
    }
《/script》

js点击图片使图片位移的代码

var a= document.getElementsByClassName(“类名“);
for(var i=0;i《a.length;i++){
a[i].onclick=function(){
this.style.top=“移动的值“;
}
}

JS让图片移动的效果

《img id=“image“ src=“ufo.png“ width=“240“ height=“140“
style=“position: absolute; left: 0px; top: 0px;“ /》

js如何实现鼠标从图片左边移动到右边的时候,切换图片呢不点击!

通过给标签增加onmousemove或onmouseover事件监听,可以捕获到鼠标悬停于该标签或移动时的事件
通过事件回调可以加以判断,动态去修改图标标签的源地址,以实现你提出的需求
但鼠标悬停和移动是十分高频率的事件,建议配合鼠标按键事件作为限制条件

OK,关于js移动图片和怎么用javascript实现图片移动我只要一张图片向左移动一小段距离就好的内容到此结束了,希望对大家有所帮助。

js移动图片(怎么用javascript实现图片移动我只要一张图片向左移动一小段距离就好)

本文编辑:admin

更多文章:


协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

最近更新

majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表