$(document).ready(function() {
//Tooltips
$(".tip_trigger").hover(function(){
tip = $(this).find('.tip');
tip.show(); //Show tooltip
}, function() {
tip.hide(); //Hide tooltip
}).mousemove(function(e) {
var mousex = e.pageX + 20; //Get X coodrinates
var mousey = e.pageY + 20; //Get Y coordinates
var tipWidth = tip.width(); //Find width of tooltip
var tipHeight = tip.height(); //Find height of tooltip
//Distance of element from the right edge of viewport
var tipVisX = $(window).width() - (mousex + tipWidth);
//Distance of element from the bottom of viewport
var tipVisY = $(window).height() - (mousey + tipHeight);
if ( tipVisX < 20 ) { //If tooltip exceeds the X coordinate of viewport
mousex = e.pageX - tipWidth - 20;
} if ( tipVisY < 20 ) { //If tooltip exceeds the Y coordinate of viewport
mousey = e.pageY - tipHeight - 20;
}
tip.css({ top: mousey, left: mousex });
});
});
css
/*--Tooltip Styles--*/
.tip {
color: #fff;
background:#1d1d1d;
display:none; /*--Hides by default--*/
padding:10px;
position:absolute; z-index:1000;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
.container {width: 960px; margin: 0 auto; overflow: hidden;}
javascript
jQuery.fn.selectCity = function(targetId) {
var _seft = this;
var targetId = $(targetId);
this.click(function(){
var A_top = $(this).offset().top + $(this).outerHeight(true); // 1
var A_left = $(this).offset().left;
targetId.bgiframe();
targetId.show().css({"position":"absolute","top":A_top+"px" ,"left":A_left+"px"});
});
targetId.find("#selectItemClose").click(function(){
targetId.hide();
});
targetId.find("#selectSub :checkbox").click(function(){
targetId.find(":checkbox").attr("checked",false);
$(this).attr("checked",true);
_seft.val( $(this).val() );
targetId.hide();
});
$(document).click(function(event){
if(event.target.id!=_seft.selector.substring(1)){
targetId.hide();
}
});
targetId.click(function(e){
e.stopPropagation(); // 2
});
return this;
}
$(function(){
//test1:
$("#address").selectCity("#selectItem");
//test2:
$("#address2").selectCity("#selectItem2");
});
</script>
分享到:
相关推荐
此外,在 HTML 文档中,我们还可以使用其他属性来获取元素的坐标,例如 offsetWidth 和 offsetHeight 属性可以获取元素的宽度和高度,而 clientWidth 和 clientHeight 属性可以获取元素的可见宽度和高度。...
在前端开发中,使用jQuery库可以方便地获取和设置元素的尺寸与坐标。通过jQuery提供的方法,开发者能够轻松地进行页面元素的布局与交互。下面将详细介绍这些方法。 一、获得坐标的方法 1. offset()方法: offset()...
本文将深入探讨JQuery坐标定位的相关知识点,包括如何获取浏览器的各种尺寸、元素位置等,并通过具体的代码示例进行说明。 #### 一、获取浏览器的尺寸 首先,我们来看一下如何使用JQuery获取浏览器的尺寸。这些...
本文将深入探讨如何使用JavaScript获取各种高度和宽度,包括浏览器窗口滚动条的位置、元素的几何尺寸等关键概念。 首先,我们来看一下与鼠标位置相关的几个属性: 1. `pageX`:表示鼠标在页面上的位置,从页面左上...
4. **动画效果**:jQuery的`.animate()`方法允许开发者创建自定义动画,如改变元素的宽度、高度、透明度等属性。例如,`$("#element").animate({left: '+=50'}, 1000)`会将元素向右移动50像素,过程持续1秒。 5. **...
元素自身的宽度(`width`),元素自身的高度(`height`),元素相对于页面(或父元素)左边界的坐标(`x`或`left`),元素相对于页面(或父元素)上边界的坐标(`y`或`top`),以及当前页面的水平滚动位置(`...
jQuery提供了多种方法来获取元素的宽度、高度以及包括边距、内填充和边框在内的完整尺寸。例如: 1. `width()` 和 `height()`:这两个方法返回元素的内容区域的宽度和高度,不包括内填充、边框和外边距。 2. `...
// 获取鼠标相对页面的Y坐标,减去元素高度的一半 $followCursor.css({ left: x, top: y }); // 更新元素的left和top属性,使其跟随鼠标 }); }); ``` 这段代码首先在文档加载完成后获取`followCursor`元素,...
总结来说,JavaScript提供了多种方式来获取鼠标坐标和元素位置,开发者可以根据具体需求选择合适的方法。了解这些坐标系统的差异对于创建交互式的网页应用至关重要。通过熟练掌握这些技巧,可以实现诸如拖放功能、弹...
在这个例子中,我们使用了jQuery的`.scroll()`方法来监听滚动事件,然后获取当前滚动位置和第一个菜单项的坐标。如果用户滚动到顶部,我们将第一个菜单项重新定位到顶部,从而实现平滑的滚动效果。 此外,还可以...
jQuery提供`.width()`和`.height()`方法来改变元素的尺寸,但如果我们希望保持特定的对边固定,如左上角和右下角,或者保持对角固定以实现等比例拉伸,我们需要计算新的宽度和高度。例如,如果用户按住鼠标拖动,...
- `width()`和`height()`: 分别获取元素内容的宽度和高度,如果元素的`display`属性为`none`,则返回0。 - `innerWidth()`和`innerHeight()`: 包含内边距但不包括边框的元素宽度和高度。 - `outerWidth()`和`...
jQuery提供了多种方法来获取和设置元素的尺寸,这对于布局和动态调整元素大小至关重要。 1. `width()` 和 `height()`:这两个方法分别用于获取或设置元素的宽度和高度,不包括边距和内边距。 2. `outerWidth()` 和 ...
jQuery 提供了一系列方法来获取和设置元素的尺寸,包括内边距、边框和外边距的影响: 1. `width()` 方法: - 获取元素的宽度(不包括内边距、边框或外边距): ```javascript $("div").width(); // 获取 div 的...
在JavaScript中,获取浏览器窗口、屏幕以及网页的高度和宽度是常见的需求,这在网页布局、动态调整元素尺寸、响应式设计等方面非常有用。以下是一些关键的JavaScript属性和方法,用于获取这些信息: 1. **网页可见...
2. `width()` 和 `height()` 方法:这两个方法分别用于获取选定元素的宽度和高度,这里在计算距离时用到了元素的中心点位置,因此需要对元素的宽度和高度进行处理。 3. `pageX` 和 `pageY` 属性:这些属性在鼠标...
在拖动效果的实现中,需要动态改变元素的样式或位置,这需要使用到jQuery的.css()方法和DOM操作方法,如.offset()获取元素位置,.before()用于在元素之前插入内容等。 4. div层操作技巧: div是HTML文档中的一个...
设置Canvas的宽度和高度,确保其在页面中正确显示。 2. **获取Canvas的2D绘图上下文**:通过`canvas.getContext('2d')`获取绘图上下文,它是所有绘图操作的基础。 3. **定义绘图函数**:根据用户的行为(如鼠标...
- **Size**:大小调整效果,用于改变元素的宽度、高度或两者。 - **Animate**:自定义动画效果,可以控制任意CSS属性随时间变化。 3. **拖放(Draggable/Droppable)** - **Draggable**:使元素具有可拖动的能力...
【jQuery 动画元素坐标应用】在Web开发中,jQuery库提供了一种强大的方式来实现动态效果,包括元素位置的平滑变化。本教程将深入讲解如何利用jQuery的`animate()`方法修改HTML元素的`position`属性,创建一个类似于...