gpt4 book ai didi

JavaScript 放大镜

转载 作者:行者123 更新时间:2023-11-27 23:50:54 28 4
gpt4 key购买 nike

我用 JavaScript 构建了一个放大镜,当我单击它或单击并拖动它时,它效果很好,但它不应该从屏幕上隐藏。

$(".menu-left-preview-box-preview").bind('click', function (e) {
window.location = "page" + ($(this).index() + 1) + ".html";
});

var native_width = 0;
var native_height = 0;
var magnifyIsMouseDown = false;
$(".magnify").parent().mousedown(function (e) {
magnifyIsMouseDown = true;
});
$(".magnify").mousemove(function (e) {
if (magnifyIsMouseDown) {
if (!native_width && !native_height) {
var image_object = new Image();
image_object.src = $(".small").attr("src");
native_width = image_object.width;
native_height = image_object.height;

} else {
var magnify_offset = $(this).offset();
var mx = e.pageX - magnify_offset.left;
var my = e.pageY - magnify_offset.top;

if (mx < $(this).width() && my < $(this).height() && mx > 0 && my > 0) {
$(".large").fadeIn(100);

} else {
$(".large").fadeOut(100);
}
if ($(".large").is(":visible")) {
var rx = Math.round(mx / $(".small").width() * native_width - $(".large").width() / 2) * -1;
var ry = Math.round(my / $(".small").height() * native_height - $(".large").height() / 2) * -1;
var bgp = rx + "px " + ry + "px";

var px = mx - $(".large").width() / 2;
var py = my - $(".large").height() / 2;
$(".large").css({ left: px, top: py, backgroundPosition: bgp });
}
}
}
});

$(".magnify").parent().mouseup(function (e) {
magnifyIsMouseDown = false;
$(".large").fadeOut(100);
});
$(".magnify").parent().mouseleave(function (e) {
$(".large").fadeOut(100);
});

manageSlide();

默认情况下,屏幕上必须有放大镜。放大镜可以拖动,并且在放下后它必须保持在放下的位置。

单击并拖动放大镜效果良好,但它不应从屏幕上隐藏。它应该出现在屏幕上。

提供带有该圆圈的放大镜 handle (设计中)。

工作示例:http://jsfiddle.net/mohsin80/4ww8efx5/

最佳答案

我用 if (isDragging) { 替换了 if (magnifyIsMouseDown) { 并创建了以下方法:

var isDragging = false;
$(".magnify").parent().mouseup(function(e) {
isDragging = false;
});
$(".magnify").parent().mousedown(function(e) {
isDragging = true;
});

使用 jQuery 模拟拖动事件。

这是fiddle 。希望它有帮助:)

关于JavaScript 放大镜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32717055/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com