为了账号安全,请及时绑定邮箱和手机立即绑定
最开始以为是取左边的图片显示在右边的图上面,还在想怎么取。看到这知道是右边本来就有一张图片,这样子就简单多了。
$("#mark").hover(function () {
// 显示浮层和大图片
$("#float-box").show();
$("#big-box").show();
},function () {
// 隐藏浮层和大图片
$("#float-box").hide();
$("#big-box").hide();
});
// 越界处理
pos.left=pos.left<smBoxLeft?smBoxLeft:(pos.left>smBoxLeft+smBoxW-floatBoxW?smBoxLeft+smBoxW-floatBoxW:pos.left);
pos.top=pos.top<smBoxTop?smBoxTop:(pos.top>smBoxTop+smBoxH-floatBoxH?smBoxTop+smBoxH-floatBoxH:pos.top);

$float_box.offset(pos);
// 显示大图
var smX=pos.left-smBoxLeft;
var smY=pos.top-smBoxTop;
var bigX=-(smX*$big_box.width()/floatBoxW);
var bigY=-(smY*$big_box.height()/floatBoxH);
var bigPos={
X:Math.floor(bigX),
Y:Math.floor(bigY)
};
$("#big-box img").eq(0).css({"top":bigPos.Y+"px","left":bigPos.X+"px"});
$(ele).offset().top;
$(ele).offset().left;
$(ele).offset({top:"100",left:"100"})
$(ele).position()
真希望不要使用IE
// 大图片运动
var moveX=left;
var moveY=top;
var moveBX=-Math.floor((left*objBigBox.offsetWidth/objFloatBox.offsetWidth));
var moveBY=-Math.floor((top*objBigBox.offsetHeight/objFloatBox.offsetHeight));
objBigBoxImage.style.left=moveBX+"px";
objBigBoxImage.style.top=moveBY+"px";
// 防止越界
left=left<0?0:(left>(objSmallBox.offsetWidth-objFloatBox.offsetWidth)?(objSmallBox.offsetWidth-objFloatBox.offsetWidth):left);
top=top<0?0:(top>(objSmallBox.offsetHeight-objFloatBox.offsetHeight)?(objSmallBox.offsetHeight-objFloatBox.offsetHeight):top);
起始整体就是一个比例,不管怎么比都会相等的只要左比例怎么比 右比例就怎么比就行了

最赞回答 / happyuzhou
其实?的求解就是一个比例问题,个人感觉老师的解法有点复杂。有x/A = ?/C,可以转化为:?=x*C/A其实将老师的式子化简可以得到上式的x/(B-A) = ?/(D-C)   且有条件 B/A = D/C成立x/[(B/A-1)*A] = ?/[(D/C-1)*C](x/A)/(B/A-1) = (?/C)/(D/C-1)   分母相等有x/A = ?/C
Mark这个值开始的时候没有 后边出来了
声音太轻了,都开最大声了,
用JQzoom插件也可以实现上面的效果,但感觉滑动显示效果不太顺畅,理解老师讲的有助于理解插件。
背景音乐有点大了
这个 X/B-A = ?/ D-C 有点晕了,验证是对的,但是咋想出来了,
无力吐槽。。第一回见粘代码这么无所顾忌的。。小白看了要抓狂的节奏吧。。
课程须知
您至少需要掌握HTML、CSS、Javascript的基础语法和知识。
老师告诉你能学到什么?
通过本课程的学习,您将初步掌握分析和解决问题的思路,JS鼠标事件的运用,页面元素定位和移动,多浏览器调试等技巧。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消