`

jQuery入门教程-15 Days of jQuery(Day 3)-巧妙的伪装链接

阅读更多
转载自网络


今天的教程是草草完成的.我想把一些东西放在这15天的前面简单的讲讲,这样以来就可以使一些js新手不至于被一堆代码搞的晕头转向.事实上我是在即将结尾的时候才做出的这个决定.

目标

我们要使用jQuery去创建一小段代码,这段代码会把一个页面所有的超链接转换并且伪装起来.

为什么?

一些下属经销商认为,一部分用户有足够的悟性发现会员链接,并能尽量避免通过点击URL链接直接进入浏览器,从而“欺骗”下属经销商脱离代理(假设购买行为已经发生)

“老”办法

有很多下属经销商千方百计的掩饰他们的链接,避免人们通过链接找到他们.这些伎俩涉及到.htaccess和服务器端的代码. 但对于本教程,我会将重点放到”老学校”的javascript上:

<a onMouseOver='window.status="http://www.merchant-url-here.com";
return true;' onMouseOut='window.status="Done"; return true;'
href="http://www.affiliate-url-here.com"
target="_blank">Link Text Here</a>


这段代码被用来在浏览器状态栏显示用户鼠标指向的链接地址.比如实际链接是www.website.com?aff=123,则可以在状态栏显示www.website.com.

问题

你是一个很活跃的下级经销商,你可能会以疯狂的速度给很多个页面添加链接.并且还要给每个链接添加这种效果那么你肯定会厌倦的.加入有一天你要修改任务栏里显示的链接的时候估计你会疯掉的.

jQuery的解决办法

首先,我们想让javascript尽快的掩饰我们的链接所以我们应该先从这里开始:
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//code goes here
});
</script>


当DOM准备好的时候我们放在ready里的代码就开始执行了.

接下来

要给所有我们想伪装的链接添加一个class,class有助于jQuery帮我们找到需要伪装的链接而撇开其它不需要伪装的链接.title有两个作用:当鼠标划过链接的时候会有一个小小的盒状提示显示URL:www.affsite.com并且同样的信息会显示在浏览器的状态栏(IE Only).

<p><a href="http://www.affsite.com?id=123" title="http://www.affsite.com"
class="affLink">Super Duper Product</a></p>


告诉jQuery找到有class=“affLink”的链接
$('a.affLink')

添加一个鼠标划过事件
$('a.affLink').mouseover(function(){window.status=this.title;return true;})

简单的说:找到class=“affLink”的所有链接,当鼠标划过它们的时候改变浏览器状态栏信息为该链接title的内容.这个在FireFox并 不能正常的工作,只是在IE里起作用.在FireFox的状态栏只是显示一个”Done”,或者更准确的说,鼠标划过超链接对状态栏并没有任何影响.我没 有更多的浏览器测试.

继续-mouseout jQuery可以让我们用”链”的方式,像这样:

$('a.affLink').mouseover(function(){window.status=this.title;return true;})
.mouseout(function(){window.status='Done';return true;});

这点代码告诉jQuery改变浏览器状态栏信息,或者当鼠标不再停留在链接上时返回”Done”. 如果你不适应jQuery的这种链的工作方式,那么你完全可以这样写:
$('a.affLink').mouseover(function(){window.status=this.title;return true;});
$('a.affLink').mouseout(function(){window.status='Done';return true;});

这就看你了.

把这些代码放到一起:

<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('a.affLink').mouseover(function(){window.status=this.title;return true;})
.mouseout(function(){window.status='Done';return true;});
});
</script>


最后的想法 你们当中可能觉得今天的课程太简单了,有些还可能还是有点不太明白,因为你们不是二级经销商.
分享到:
评论

相关推荐

    jquery.doc

    在 "15 Days of jQuery (Day 2)" 中,教程展示了如何轻松创建双色表格。传统的 CSS 方法可能需要编写较多的代码,而 jQuery 只需几行就能实现相同的效果。这凸显了 jQuery 在简化任务和提高开发效率方面的价值。 ...

    jQuery计时器插件TimeCircles多种效果

    **jQuery计时器插件TimeCircles:丰富的定时与倒计时解决方案** TimeCircles是一款基于jQuery的轻量级插件,它为开发者提供了一种优雅的方式来创建视觉上吸引人的计时器和倒计时器。这个插件以其灵活性、易用性和...

    Jquery mobile UI组件详解

    &lt;option value="rush"&gt;Rush: 3 days &lt;option value="express"&gt;Express: 1 day ``` **4.2 Options** | 序号 | 属性名称 | 属性注解 | | --- | --- | --- | | 1 | mini | 设置元素的大小到一个更紧凑的版本,此...

    jQuery实现的某酒店预订页面双日期选择框的效果源码.zip

    endDate: moment().add(6, 'days').startOf('day'), minDate: moment(), maxSpan: { days: 30 }, showDropdowns: true, showWeekNumbers: true, timePicker: false, timePickerIncrement: 1, timePicker12...

    jQuery时间日期三级联动(推荐)

    在本文中,我们将深入探讨如何使用jQuery实现时间日期三级联动的效果。这个效果通常用于日历选择器或表单中,用户可以选择年、月、日,而下级的选择会根据上一级的选择动态更新。以下是实现这一功能的关键知识点: ...

    jQuery日历插件CLNDR特效代码

    - **说明.url**:可能是开发者提供的官方文档或更详细的教程链接。 - **jiaoben18872**:此文件名不明确,可能是示例代码或配置文件,需要打开查看具体内容。 通过这些资源,开发者可以更深入地了解和使用CLNDR,...

    javasctipt如何显示几分钟前、几天前等.docx

    &lt;span class="time timeago" title="2021-4-29 15:23"&gt; $(document).ready(function() { $("span.timeago").timeago(); }); ``` #### 代码解析: 1. **HTML结构**: - `&lt;span&gt;`标签包含了要被转换的时间...

    timeago.js自动将时间戳转换为更易读的时间轴

    "timeago.js"正是一款解决此问题的JavaScript库,它专门设计用于将Unix时间戳或者日期对象转换为人类可读的、富有语义的时间描述,比如“5分钟前”或“约3小时前”。这款插件基于广泛使用的jQuery框架,因此在兼容性...

    寒假倒计时

    1. **jQuery**:文件`jquery-1.9.1.min.js`和`jquery-ui.min.js`表明这个项目使用了jQuery库,它是一个广泛使用的JavaScript库,简化了DOM操作、事件处理和Ajax交互。`jquery-ui.min.js`则提供了jQuery UI组件,可能...

    【JavaScript源代码】jQuery实现可以扩展的日历.docx

    【JavaScript源代码】jQuery实现可扩展日历 在IT行业中,开发自定义的用户界面组件是一种常见的需求,尤其是在Web开发中。本示例探讨的是如何使用JavaScript和jQuery库创建一个可扩展的日历插件,以满足特定的产品...

    jquery 简单应用示例总结

    jQuery是一个快速、小巧、功能丰富的JavaScript库。它通过减少HTML文档遍历、事件处理、动画和Ajax交互的代码量,使得Web开发变得更加便捷。本文将总结一些在实际应用中常见的jQuery功能片段,并对每个知识点进行...

    jQuery 实现倒计时天,时,分,秒功能

    这里使用的是jQuery 3.1.1版本的CDN链接: ```html &lt;script src="https://code.jquery.com/jquery-3.1.1.min.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; ``` 然后,我们需要编写JavaScript代码来处理...

    html 渲染 vue的日历页面

    &lt;td v-for="day in week.days" :key="day.date"&gt; &lt;!-- 显示日期和签到状态 --&gt; (day)"&gt;{{ day.date }} ``` 在JavaScript部分,我们定义Vue组件的选项,包括数据、方法等: ```javascript export ...

    mini_clndr:迷你日历,用于使用下划线js,jquery和clndr.js显示事件

    &lt;div class="day-number"&gt;{{day}}&lt;/div&gt;\ {{#if events.length}}\ &lt;ul class="events"&gt;\ {{#each events}}\ &lt;li&gt;{{this.title}}&lt;/li&gt;\ {{/each}}\ &lt;/ul&gt;\ {{/if}}\ &lt;/div&gt;\ {{/each}}\ '; ``` 5. **处理...

    日期插件datarangepicker使用demo

    firstDay: 1 // 星期日为一周的第一天 } }, function(start, end, label) { console.log("A new date selection was made: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD')); }); }); ```...

    JS秒杀倒计时功能完整实例【使用jQuery3.1.1】

    3. `miaosha`函数:定义了一个递归函数`miaosha`,它负责计算当前时间与设定的结束时间之间的差值,并将这个时间差转换为天、小时、分钟和秒。然后,函数会递归地每秒调用一次自己,更新页面上的倒计时显示。 ```...

    JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享

    var halfAMonth = day * 15; var month = day * 30; function getDateDiff(dateTimeStamp) { var now = new Date().getTime(); var diffValue = now - dateTimeStamp; // ...后续的逻辑处理... } ``` 在这个`...

    HoursOfOperationCheck:营业时间检查

    HoursOfOperationCheck.js HoursOfOperationCheck v1.0 是一个开发人员友好的 JQuery 脚本,用于检查您的业务当前是否开放。 作者:托马斯·罗萨莱斯 工作原理: ...for that day of the week. (No

    time-block-planner

    THEN the current day is displayed at the top of the calendar WHEN I scroll down THEN I am presented with timeblocks for standard business hours WHEN I view the timeblocks for that days THEN each ...

    bootstrap时间插件

    3. **实时预览**:用户在选择日期时,会立即在输入框中看到所选的日期范围,提高了用户的交互性。 4. **自定义格式化**:日期和时间的显示格式可以根据开发者的需求进行定制,满足不同的展示需求。 5. **时间粒度...

Global site tag (gtag.js) - Google Analytics