如何实现类似与日历控件的那种效果
想实现这样一种效果,点击控件后弹出一个窗口,窗口的位置根据控件的位置确定(比如说控件的右下方),窗口的内容根据控件传入的参数来决定
就是想日历控件那样的一个弹出窗口,只是里面的内容不是日历,要是我自己的东西;
或者说像title属性里面的东西,但是要能复制 javascript jquery? css
[解决办法]
随便找一个tooltip插件就行了
就是个弹出层效果,tooltip效果要能复制原理也很简单,鼠标离开目标时延时隐藏tooltip层,这样鼠标就能够移动到tooltip层上,tooltip层的鼠标进入事件里面销毁setTimeout计时器,这样层就不会消失,还要写tooltip层的鼠标离开事件隐藏tooltip层
[解决办法]
<style>
.tip{
position: absolute;
display:none;
border:1px solid #aaa;
background:#ffa;
padding:3px;
}
</style>
<button>tes1t</button>
<button>test2</button>
<script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
<script>
$(function(){
var tip=$('<div class="tip" ></div>').appendTo('body') ;
$('button').click(function(){
var p=$(this).offset();
p.top+= $(this).height()+5;
tip.show().css(p);
tip.html( this.innerHTML );
});
$(document).mousedown(function(evt){
if($(evt.target).is(tip)) return ;
tip.hide();
})
});
</script>
var pos=$('控件').offset();
var x=pos.left;
var y=pos.top;
//pos的值(也就是offset方法返回的值)是一个对象(包含left和top两个属性,属性值分别为控件的横、竖坐标值)
$('弹出').appendTo('body').css({position:'absolute',left:x,top:y})
var pos=$('控件').offset();
var x=pos.left+$('控件').width();
var y=pos.top+$('控件').height();
$('弹出').appendTo('body').css({position:'absolute',left:x,top:y})