javascript - Jquery 图片预览插件

标签 javascript jquery css image browser

我正在使用这个在网络上找到的“插件”来预览 php/linux 网站中的一些图像。

<script type="text/javascript">
function pimg()
{
    this.xOffset = 5;
    this.yOffset = 50;
    $("a.pimg").hover(function (e)
    {
        this.img_title = this.title;
        this.title = "";
        var img_src = $(this).attr('img_src');
        var desc = (this.img_title != "") ? "<h3>" + this.img_title + "</h3>" : "";
        var image = (img_src) ? img_src : this.src;
        $("body").append("<div id='pimg'><img src='" + image + "' alt='Image preview' />" + desc + "</div>");
        $("#pimg").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px");
        $("#pimg").fadeIn(700);
    }, function ()
    {
        this.title = this.img_title;
        $("#pimg").remove();
    });
    $("a.pimg").mousemove(function (e)
    {
        $("#pimg").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px");
    });
};
$(document).ready(function($){
    pimg();
}) 
</script>
<div class="images">
                  <a href="#" img_src='<?=TF?>/img/design/testimonials/Tuscg.png' class="pimg">View Testimonial</a>
            </div>

我想要的是使图像预览出现在可见的浏览器窗口内,而不是为其创建新空间(在链接位于浏览器窗口右下角的情况下)。我知道我必须调整定位,但如何才能动态地做到这一点,以便图像仅出现在浏览器窗口的当前可见内容中。

谢谢!

最佳答案

您的代码没问题。您只需要将它添加到您的 CSS 样式 ( DEMO )

#pimg{position:absolute;display:none;}

除此之外,您只需将这段代码修改为您想要的正确 x/y 坐标即可。

$("#pimg").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px");

关于javascript - Jquery 图片预览插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5962998/

相关文章:

css - 如何在 PrimeNG 中覆盖 ProgressSpinner?

javascript - 在 React useEffect Hook 中引用过时的状态

javascript - HTML 和 CSS 新手 : Drop down menu not displaying

javascript - Openlayers 和 Jquery 自动完成从矢量图层打开弹出窗口

javascript - 如何使用 Angular.js/JavaScript 为我的 HTML 页面支持多语言?

javascript - jQuery移动动态分割按钮 ListView

用于弹出类别列表的 JavaScript 不起作用

javascript - 监听发送到 URL 的 JSON 消息

javascript - 即使支持,speechSynthesis 也无法在移动 Safari 上运行

html - Safari 中不显示 SVG 背景