4

我正在使用http://cssglobe.com/lab/tooltip/02/显示图像预览,如果您转到此页面上的检查元素并设置 float:right; 并将鼠标悬停在离窗口最近的图像上,预览图像将隐藏在屏幕后面。如果悬停的图像在最右边,我希望它显示在左边,反之亦然。任何帮助表示赞赏。

下面是处理 mouseover 和 mousemove 的 js

    /*
 * Image preview script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */

this.imagePreview = function(){ 
    /* CONFIG */

        xOffset = 10;
        yOffset = 30;

        // these 2 variable determine popup's distance from the cursor
        // you might want to adjust to get the right result

    /* END CONFIG */
    $("a.preview").hover(function(e){
        this.t = this.title;
        this.title = "";    
        var c = (this.t != "") ? "<br/>" + this.t : "";
        $("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");                                
        $("#preview")
            .css("top",(e.pageY - xOffset) + "px")
            .css("left",(e.pageX + yOffset) + "px")
            .fadeIn("fast");                        
    },
    function(){
        this.title = this.t;    
        $("#preview").remove();
    }); 
    $("a.preview").mousemove(function(e){
        $("#preview")
            .css("top",(e.pageY - xOffset) + "px")
            .css("left",(e.pageX + yOffset) + "px");
    });         
};


// starting the script on page load
$(document).ready(function(){
    imagePreview();
});
4

1 回答 1

7

我写了一些不同的东西,然后准确地阅读了你的问题:(我希望它仍然会对你有所帮助。你所要做的就是摆脱 Math.min 并拥有一个简单的 IF,当它是真的时,稍微改变一下偏移量.

trc_x = Math.min(trc_x + event.pageX, Mx);
trc_y = Math.min(trc_y + event.pageY, My);

http://jsfiddle.net/V5JCq/9/

于 2013-04-29T23:56:33.570 回答