中关村网站产品参数页的参数纠错的制作

news/2024/5/20 14:52:27/文章来源:https://blog.csdn.net/weixin_30412013/article/details/99462689
今天突然想在正在做的网站中加上个像中关村一样的参数纠错的功能,效果如下图:

虽然看起来好像蛮简单,但是自己还是想了一下午加上晚上的2个小时,不过等到自己做出来的时候好像也感觉到蛮简单的,其实这种web页面的小特效只要把思路想通了就很简单了,呵呵,只是思路,不能说是算法,算法太高深,ME也不懂。
看到这个效果很容易想到,无非也就是给那个td单元格加上一个mouseover事件,当鼠标移上出的时候就出现那个“参数纠错”的HTML标签。
用firebug查看中关村的页面,可以那到那个参数纠错无非也就是一个span标签中包含一个img和一段文字,然后给他一个向右浮动,这样自然会靠在td的右边。
需要注意的是当鼠标移开td单元格了以后,那个参数纠错的标签还是显示的,只有当鼠标移到另一个td单元格时,原来的那个参数纠错的标签才会消失,这样的话td的mouseout事件就不可用了。
我的想法就是利用jquery中的remove方法,每回进到mouseover事件时,首先先把当前页面中的参数纠错的标签移除,然后再在当前的td单元格内加上参数纠错的HTML标签。

废话讲多了,看如下正确的代码:

<!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>产品纠错</title>
    
<style type="text/css">
        .param_td
        
{
            line-height
: 25px;
        
}
        .param_td a
        
{
            font-size
: 12px;
        
}
        .param_td a:link, .param_td a:visited
        
{
            text-decoration
: none;
            color
: #0368A8;
        
}
        .param_td a:hover
        
{
            text-decoration
: underline;
            color
: #FF6600;
        
}
    
</style>

    
<script src="js/jquery.js" type="text/javascript"></script>

    
<script type="text/javascript">
        
function show(obj_td) {
            
/*
            鼠标移到td单元格中,首先先把当前页面中纠错的HTML标签去掉,
            再把纠错的HTML标签加到当前单元格中
            
*/
            $(
"#param_jiucuo").remove();
            
var td = $(obj_td);
            
var tmp = td.text().replace("参数纠错""");
            
var html_jiucuo = "<span bgcolor='#ffffff' style='float: right;' id='param_jiucuo'>" +
                                        
"<img src='http://icon.zol.com.cn/detail0802/e2.gif'/>" +
                                        
"<a href='javascript:alert(\"" + tmp + "\")'>参数纠错</a>" +
                                        
"</span>";
            td.html(html_jiucuo 
+ tmp);
        }
    
</script>

</head>
<body>
    
<table width="770" cellspacing="1" cellpadding="0" border="0" bgcolor="#c5d7ed">
        
<tbody>
            
<tr>
                
<td width="100" bgcolor="#ffffff" valign="middle" align="left">
                    
<strong>手机类型</strong>
                
</td>
                
<td width="450" bgcolor="#ffffff" class="param_td" onmousemove="show(this)">
                    智能手机,3G手机
                
</td>
            
</tr>
            
<tr>
                
<td width="100" bgcolor="#ffffff" valign="middle" align="left">
                    
<strong>手机制式</strong>
                
</td>
                
<td width="450" bgcolor="#ffffff" class="param_td" onmousemove="show(this)">
                    GSM、WCDMA
                
</td>
            
</tr>
            
<tr>
                
<td width="100" bgcolor="#ffffff" valign="middle" align="left">
                    
<strong>支持频段</strong>
                
</td>
                
<td width="450" bgcolor="#ffffff" class="param_td" onmousemove="show(this)">
                    GSM 900/1800/1900MHz
                
</td>
            
</tr>
        
</tbody>
    
</table>
</body>
</html>

 以上代码是我测试成功的代码,起初我是不想在td标签上加onmousemove参数的,想利用jquery直接在$(function(){})中给第个td标签加上mousemove方法,但是最后测试不成功,如下是错误的代码:

<!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>产品纠错-有问题的页面</title>
    
<style type="text/css">
        .param_td
        
{
            line-height
: 25px;
        
}
        .param_td a
        
{
            font-size
: 12px;
        
}
        .param_td a:link, .param_td a:visited
        
{
            text-decoration
: none;
            color
: #0368A8;
        
}
        .param_td a:hover
        
{
            text-decoration
: underline;
            color
: #FF6600;
        
}
    
</style>

    
<script src="js/jquery.js" type="text/javascript"></script>

    
<script type="text/javascript">
        $(
function() {
        
/*
            由于JS的冒泡事件机制,给td加个mouseover事件后也会自动给td内的a标签加上
            该事件,所以就会有问题
        
*/
            $(
".param_td").mouseover(function() {
                
var td = $(this);
                $(
"#param_jiucuo").remove();
                
var tmp = $.trim(td.text().replace("参数纠错"""));
                
var html_jiucuo = "<span bgcolor='#ffffff' style='float: right;' id='param_jiucuo'>" +
                                        
"<img src='http://icon.zol.com.cn/detail0802/e2.gif'/>" +
                                        
"<a href='javascript:alert(\"" + tmp + "\")'>参数纠错</a>" +
                                        
"</span>";
                td.html(html_jiucuo 
+ tmp);
            });
        })
    
</script>

</head>
<body>
    
<table width="770" cellspacing="1" cellpadding="0" border="0" bgcolor="#c5d7ed">
        
<tbody>
            
<tr>
                
<td width="100" bgcolor="#ffffff" valign="middle" align="left">
                    
<strong>手机类型</strong>
                
</td>
                
<td width="450" bgcolor="#ffffff" class="param_td">
                    智能手机,3G手机
                
</td>
            
</tr>
            
<tr>
                
<td width="100" bgcolor="#ffffff" valign="middle" align="left">
                    
<strong>手机制式</strong>
                
</td>
                
<td width="450" bgcolor="#ffffff" class="param_td">
                    GSM、WCDMA
                
</td>
            
</tr>
            
<tr>
                
<td width="100" bgcolor="#ffffff" valign="middle" align="left">
                    
<strong>支持频段</strong>
                
</td>
                
<td width="450" bgcolor="#ffffff" class="param_td">
                    GSM 900/1800/1900MHz
                
</td>
            
</tr>
        
</tbody>
    
</table>
</body>
</html>

以上代码的错误出在哪里让自己想了N久,最后基本理解,由于JS的事件触发是一个冒泡机制的,大概就是因为我在JS代码中给td标签加了mouseover事件,这样在显示出来的时候当我移到td内的a标签上时也触发了td的mouseover事件,所以会出错,而之前的那个直接把mouseover事件加上HTML标签上的就不会有这个问题吧。
源码下载:http://taotao.wsyren.com/download/jiucuo.rar

转载于:https://www.cnblogs.com/niunan/archive/2009/06/16/1504595.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_784692.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子商务网站IDC网络拓扑设计

这个拓扑是我为之前公司设计的线上环境的拓扑看着很简单&#xff0c;可是这是我为了让别人看懂而一再精简的&#xff0c;里面把很多实施细节忽略掉了说下要想完成这个拓扑需要的知识储备&#xff1a;至少需要CCNP相当的水平这里面用到了动态路由协议&#xff0c;VLAN划分&#…

查看网站用何种web服务器的命令

查看网站用何种web服务器的命令http://blog.163.com/huv520126/blog/static/2776523920101030104928998/ curl --head xxxxx转载于:https://blog.51cto.com/7499256/1575973

万网免费主机wordpress快速建站教程-wordpress下载及安装

进入wordpress官网&#xff08;http://cn.wordpress.org&#xff09;下载最新的wordpress安装程序&#xff0c;下载完成后解压到任意电脑目录。解压完毕后&#xff0c;使用FTP管理工具上传安装文件至主机htdocs目录。这里使用的是FlashFXP。首先点击连接按钮&#xff0c;填上FT…

访问网站出现图片破裂

访问网站出现图片破裂访问网站的时候出现图片破裂现象本人排查思路如下几点:1、刚开始去查看图片属性登陆服务器查看图片都存在,而且权限都有,但是图片还是不行.2、接着换浏览器测试问题依旧.3、找朋友在别的地方测试都ok.4、最终确定是本地办公网络的原因,主要是网络延迟大,传…

75佳非常漂亮的 CSS 网站布局欣赏(系列五)

互联网高速发展中&#xff0c;每天都有成千上万的新网站诞生。最早的网站是没有样式的&#xff0c;后来引入了 CSS 用来格式化结构化的网页内容&#xff0c;用于精确的控制网页的布局和外观。然而因为浏览器兼容性问题&#xff0c;要使用 CSS 制作出高质量的网站不容易。今天开…

[导入]探讨高访问量网站优化方案(从图片角度)

摘要: 我们知道现在一个好的网站都面临着访问量的问题.高访问量的网站服务器的压力大概来自以下两个方面: 第一:数据库,大量的数据查询操作必定会消耗大部分时间. 第二:WEB服务器本身,大量的图片以及js文件的加载 . 这里我针对第二项说下大多网站在这方面可能进行的优化操作.个…

百度单方面修改网站url导致大量404

2019独角兽企业重金招聘Python工程师标准>>> 百度抓取到的内容&#xff0c;用户搜索并访问后&#xff0c;百度改写了url&#xff08;域名之后的第二个目录&#xff09;&#xff0c;导致出现大量的404&#xff0c;交涉无果&#xff0c;没办法&#xff0c;只能自己修复…

网站安装打包 webconfig修改[三]

在net中&#xff0c;在System.Configuration.ConfigurationManager中&#xff0c;提供了几个静态方法&#xff0c;用来修改配置文件。 如:System.Configuration.Configuration config System.Configuration.ConfigurationManager.OpenMachineConfiguration(); 获得应用程序下的…

学用MVC4做网站一:修改密码1.4

一、用户 1.1用户注册 1.2用户登录 1.3修改密码 1.4修改资料 在用户登陆成功后要跳转到一个页面&#xff0c;暂且叫做用户中心吧。在【UserController】添加[default] action [UserAuthorize]public ActionResult Default(){userRsy new UserRepository();var _user userRsy.…

动态网站基础

1. 通信&#xff1a; HTTP, URL, 请求和响应 2. 数据存储&#xff1a; 数据库 3. 表示&#xff1a; 将模板渲染成HTML或其他格式 然后把这3部分组合在一起&#xff0c;即WEB框架。比如Django。 也就是传说中的MVC。这样的好处是 1&#xff09; 灵活 2&#xff09; 清晰 3&#…

网站访问过程理解(一点记录)

一个普通网站访问的过程 简单概括一下&#xff0c;对于我们普通的网站访问&#xff0c;涉及到的技术就是&#xff1a;用户操作浏览器访问&#xff0c;浏览器向服务器发出一个 HTTP 请求&#xff1b;服务器接收到 HTTP 请求&#xff0c;Web Server 进行相应的初步处理&#xff0…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能&#xff0c;通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

seo从入门到精通_SEM必读书单丨从入门到精通,这9本书就是你的钥匙!

也许你刚进入SEM行业没多久也许你已经在SEM领域混迹多年你有没有注意过自己已经很久很久没有获取新鲜的知识了&#xff1f;其实很多你工作中的烦恼和误区在书里都能得到解答下面&#xff0c;我为大家介绍9本书&#xff0c;建议先看书时&#xff0c;可以先看完每一个小节后&…

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行(转载)

LoadControl 和输出缓存会话和输出缓存Forms 身份验证票证生存期视图状态&#xff1a;无声的性能杀手SQL Server 会话状态&#xff1a;另一个性能杀手未缓存的角色配置文件属性序列化线程池饱和模拟和 ACL 授权不要完全信赖它 — 请设置数据库的配置文件&#xff01;ASP.NET 成…

为什么要使用ul li布局网站导航条?使用ul li布局网站网页导航必要性

会布局的都知道网站导航条布局非常重要&#xff0c;可能一个导航条最终布局效果有时可以使用ul li列表标签布局&#xff0c;有时可以不用ul li布局&#xff0c;而是直接一个div盒子里直接放锚文本超链接的栏目名称&#xff0c;也能实现&#xff0c;看下图。 假如要布局出这样简…

最近一打开cnblogs首页,就弹出电影网站!

最近一打开cnblogs首页&#xff0c;就弹出电影网站! 打开别的网站就不会&#xff0c;郁闷&#xff0c;是我这里问题吗&#xff1f;我用的是深圳电信ADSL

网站的图片列表怎么设置

2019独角兽企业重金招聘Python工程师标准>>> <div id"sideRight"> <div class"hy_right_layout_ywbl"> <dl> <dt class"rightTitleBar"> <div> <a hr…

如何在js中获取response.getwriter()的内容_B2B行业网站原创利器,让您会员轻松生产原创内容,提升SEO排名...

在运营B2B网站过程中&#xff0c;最能左右排名效果的就是用户发布的供求内容与文章内容。运营B2B网站的权重和收录提升&#xff0c;极度依赖于用户发布的供求信息和专业文章&#xff0c;运营过垂直行业朋友知道&#xff0c;自己的会员用户往往会出现不知道写什么的状况&#xf…

yoast造成php内存,最全Yoast SEO插件使用指南

很多人刚开始用yoast SEO插件的时候&#xff0c;都只是使用了他最基础的功能 - 针对每个页面进行编辑标题&#xff0c;描述和关键词&#xff0c;但是yoast的功能远远不止那些&#xff0c;接下来我们看看&#xff0c;他究竟还能帮我们做什么。分页优化(optimized Pagination)我们…

2017年最新15个漂亮的 HTML 摄影网站模板

摄影是一门艺术&#xff0c;它需要大量的耐心和努力工作来捕捉那些精彩的瞬间。如果你是一位热情的摄影师&#xff0c;想要建立一个网站来展示那些高质量的摄影作品&#xff0c;那么你找对地方了。本文包含15个最佳的摄影网站模板&#xff0c;你可以使用这些 HTML 模板创建自己…