jQuery提示示例:点击文本框弹出热门标签
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>jQuery提示示例:点击文本框弹出热门标签</title>
- <meta http-equiv="content-type" content="text/html;charset=gb2312">
- <style type="text/css">
- body {
- font-size:12px;font-family:Arial;
- }
- #m_tagsItem {
- background:#fff;
- position:absolute;
- top:0px;
- left:0px;
- overflow:hidden;
- width:590px;
- *width:561px;
- width:561px\9;
- padding:10px;
- border:1px solid #ccc;
- z-index:1000;
- display:none;
- }
- #m_tagsItem p {
- text-align:left;
- line-height:22px;
- padding:2px 0;
- margin:0;
- border:0;
- }
- #m_tagsItem span {
- font-weight:bold;
- }
- #m_tagsItem a {
- margin:0 5px;
- }
- .m_tagsname {
- color:#999;
- vertical-align:middle;
- font-size:12px;
- text-indent:3px;
- line-height:20px;
- }
- #tagClose {
- font-size:12px;
- color:#888;
- cursor:pointer;
- position:absolute;
- top:2px;
- right:2px;
- }
- </style>
- <script src="http://www.codefans.net/ajaxjs/jquery1.3.2.js"></script>
- <script language="javascript">
- (function($){
- $.fn.bgIframe = $.fn.bgiframe = function(s) {
- if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
- s = $.extend({
- top : 'auto', // auto == .currentStyle.borderTopWidth
- left : 'auto', // auto == .currentStyle.borderLeftWidth
- width : 'auto', // auto == offsetWidth
- height : 'auto', // auto == offsetHeight
- opacity : true,
- src : 'javascript:false;'
- }, s || {});
- var prop = function(n){return n&&n.constructor==Number?n+'px':n;},
- html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
- 'style="display:block;position:absolute;z-index:-1;'+
- (s.opacity !== false?'filter:Alpha(Opacity=\'0\');':'')+
- 'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
- 'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
- 'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
- 'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
- '"/>';
- return this.each(function() {
- if ( $('> iframe.bgiframe', this).length == 0 )
- this.insertBefore( document.createElement(html), this.firstChild );
- });
- }
- return this;
- };
- })(jQuery);
- 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("#tagClose").click(function(){
- 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(){
- $("#selecttags").selectCity("#m_tagsItem");
- });
- //为文本域连续赋值
- function checktag(o){
- var tagid = function(id){return document.getElementById(id);}
- var tags = [];//存放标签,避免重复加入
- var tagidSPLITCHAR = ' ';//设定分隔符,根据程序需求可改
- var d = tagid('selecttags');
- if (d.value)
- tags = d.value.split(tagidSPLITCHAR);
- var v = o.innerHTML;//如果tag有别的值或者别的非innerHTML里体现的内容
- var s = tagidSPLITCHAR+tags.join(tagidSPLITCHAR)+tagidSPLITCHAR
- if (!new RegExp(tagidSPLITCHAR+v+tagidSPLITCHAR,'g').test(s)){
- s+=v;
- }
- s = s.replace(new RegExp("(^"+tagidSPLITCHAR+"*|"+tagidSPLITCHAR+"*tagid)","g"),'');
- d.value = s;
- tags = s.split(tagidSPLITCHAR);
- }
- </script>
- </head>
- <body>
- 如果没有出现提示框请刷新一下页面再试~
- <input type="text" id="selecttags" name="m_tagsname" class="m_tagsname" style="width:577px" value="点击查看热门标签和您曾经使用过的标签" onClick="if(this.value=='点击查看热门标签和您曾经使用过的标签'){this.value='';this.className='m_tagsname'}">
- <div id="m_tagsItem" style="display:none">
- <div id="tagClose">关闭</div>
- <p><span>温馨提示:</span>标签间请用“空格”、“逗号”或“分号”隔开,用简练的词语概括您的博文内容。</p>
- <p><span>热门标签:</span><a href="javascript:void(0)" onClick="checktag(this)">彩妆</a><a href="javascript:void(0)" onClick="checktag(this)">美发</a><a href="javascript:void(0)" onClick="checktag(this)">美优博客</a><a href="javascript:void(0)" onClick="checktag(this)">aaa</a><a href="javascript:void(0)" onClick="checktag(this)">bbb</a><a href="javascript:void(0)" onClick="checktag(this)">天堂</a><a href="javascript:void(0)" onClick="checktag(this)">eee</a><a href="javascript:void(0)" onClick="checktag(this)">fff</a><a href="javascript:void(0)" onClick="checktag(this)">ggg</a></p>
- <p><span>您使用过的标签:</span><a href="javascript:void(0)" onClick="checktag(this)">软件</a><a href="javascript:void(0)" onClick="checktag(this)">Delphi</a><a href="javascript:void(0)" onClick="checktag(this)">博客</a><a href="javascript:void(0)" onClick="checktag(this)">源码</a><a href="javascript:void(0)" onClick="checktag(this)">彩妆</a><a href="javascript:void(0)" onClick="checktag(this)">google</a><a href="javascript:void(0)" onClick="checktag(this)">新浪</a></p>
- </div>
- </body>
- </html>
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论