js实现类似hover的鼠标悬停更换背景效果

前端白菜一枚,第一次写js,请多指教。
没错就是右边搜索栏下面的那几个图标,单个元素很快就可以搞定,而扩展到多个的时候被困惑住了,折腾了很久。

首先是html

<a class="icon-link" style="text-decoration: none;" href="http://www.douban.com/people/ReSur/">
<img id="icon-douban" onmouseover="mouseOver('douban')" onmouseout="mouseOut('douban')" alt="ReSur's Douban" src="/images/icon/douban.png" width="32" height="32" border="0" />
</a>
<a class="icon-link" style="text-decoration: none;" href="http://weibo.com/ReSur">
<img id="icon-weibo" onmouseover="mouseOver('weibo')" onmouseout="mouseOut('weibo')" alt="ReSur's Weibo" src="/images/icon/weibo.png" width="32" height="32" border="0" />
</a>
<a class="icon-link" style="text-decoration: none;" href="http://twitter.com/jinjinqian">
<img id="icon-twitter" onmouseover="mouseOver('twitter')" onmouseout="mouseOut('twitter')" alt="ReSur's Twitter" src="/images/icon/twitter.png" width="32" height="32" border="0" />
</a>
<a class="icon-link" style="text-decoration: none;" href="http://facebook.com/ReSur">
<img id="icon-facebook" onmouseover="mouseOver('facebook')" onmouseout="mouseOut('facebook')" alt="ReSur's Facebook" src="/images/icon/facebook.png" width="32" height="32" border="0" />
</a>
<a class="icon-link" style="text-decoration: none;" href="http://github.com/ReSur">
<img id="icon-github" onmouseover="mouseOver('github')" onmouseout="mouseOut('github')" alt="ReSur's Github" src="/images/icon/github.png" width="32" height="32" border="0" />
</a>

然后是js,这是优化前的代码:

<script type="text/javascript">
function mouseOver(website){
 
if (website === "douban")
{
	document.getElementById("icon-" + website).src="/images/icon/douban_hover.png";
}
else if (website === "weibo")
{
	document.getElementById("icon-weibo").src="/images/icon/weibo_hover.png";
}
else if (website === "twitter")
{
	document.getElementById("icon-twitter").src="/images/icon/twitter_hover.png";
}
else if (website === "facebook")
{
	document.getElementById("icon-facebook").src="/images/icon/facebook_hover.png";
}
else if (website === "github")
{
	document.getElementById("icon-github").src="/images/icon/github_hover.png";
}
else{}
 
}
 
function mouseOut(website){
 
if (website === "douban")
{
	document.getElementById("icon-douban").src="/images/icon/douban.png";
}
else if (website === "weibo")
{
	document.getElementById("icon-weibo").src="/images/icon/weibo.png";
}
else if (website === "twitter")
{
	document.getElementById("icon-twitter").src="/images/icon/twitter.png";
}
else if (website === "facebook")
{
	document.getElementById("icon-facebook").src="/images/icon/facebook.png";
}
else if (website === "github")
{
	document.getElementById("icon-github").src="/images/icon/github.png";
}
else{}
 
}
</script>

写的过程中总觉得欠妥,有很多重复的地方也许可以重构一下。这是优化后的代码:

<script type="text/javascript">
function mouseOver(website){
	document.getElementById("icon-" + website).src="/images/icon/" + website + "_hover.png";
}
 
function mouseOut(website){
	document.getElementById("icon-" + website).src="/images/icon/" + website + ".png";
}
</script>

下期我会给大家带来mac快捷键的使用技巧,整理了很久了的。今天是水水地过场,所以就不放每期的小技巧啦,各位晚安 : )

[准确找到所需资源]如何更换Adobe Photoshop CC语言 & 如何无需信用卡试用Anime Studio Pro 9.2 for Mac

ps-anime
思考了很久的决定,今天起将持续更新1992s.com,发布一些关于Mac/App/互联网/设计动画的文章,不在于解决问题本身,而在于思路和方法。喜欢的朋友欢迎关注,同时也会同步微信公共帐号,二维码在文章最下方。与以往有所不同的是最后会附赠一个小技巧,也许会很好玩或者很实用。不同于专业的大博会夹杂些吐槽之类或者灵感一现的话题,不喜轻喷。
夜猫党基本深夜发文,没有订阅习惯的朋友请刷微信二维码。

扯了这么久,下面进入正题。标题比较长,叫如何准确找到所需资源,然后是两个实例操作。每当遇到一个问题,首先想到的就是搜索了,但当你google一个冷门问题时候,并不是总能找到理想答案,可以视情况增减关键词。(更多搜索技巧请戳这个Google官方提供的教学页面https://www.google.com/insidesearch/tipstricks/all.html
不想卸载了重装,经过搜索知道了Photoshop可以通过把语言包放在安装目录的Locales文件夹下的方法更换语言,并提供了语言包的下载链接。强迫症的我们想要用官网上下载的语言包(抑或你想替换的语言比较小众),换句话说为了版本对应,还没有CC版的语言包。搜索了adobe.com并未找到所需资源。嗯,没错,我们可以在安装包里找找。打开Photoshop_14_LS20.dmg,用自带搜索功能输入en_US(这里示范中文更换成英文,想换成简体中文请自行改为zh_CN,包括后面),安装包下的/Adobe Photoshop CC/payloads/AdobePhotoshop14-en_US/AdobePhotoshop14-en_US.zip 就是我们需要的文件。

adobephotoshop14-en_us_zipfind_en_us

解压出/Assets1/Application/Locales/里面的en_US文件夹到Photoshop安装目录下的Locales文件夹。这时候 Photoshop→首选项→界面→文本→用户界面 语言确实多了一个”英语”的选项,但是选中后重启并会报错并恢复回中文。解决方法是不修改首选项,把安装目录下Locales文件夹里的en_US文件名改成zh_CN(即改成你想替换掉的语言),这样一来也就完成了最初的目的。

不过搜索并不能解决所有冷门问题。由于团队需要,得安装Anime Studio Pro 9.2试用版,遇到了问题是必须填写信用卡信息才能进行试用,总所周知这个国家的本科生不是很容易办到一张信用卡的。既然没有人遇到过这个问题,那就自己想办法吧。同样我们试着去安装包里寻找下线索。打开Anime_Studio_Pro_9.2_Mac_trial.dmg,右击Anime Studio Pro 9.2 Trial Version点选“显示包内容”,易知软件安装包后缀名通常为pkg,所以我们用自带搜索功能搜索.pkg,得到一个比dmg稍小一点的AnimeStudioPro_mac_9.2_EN.pkg文件,显然这就是我们要找的入口,开始试用吧。

animestudiopro_mac_9.2_en_pkg


Mac小技巧

1.你知道吗?通过选中应用(其实是所有的文件/文件夹)图标后按⌘+C可以复制图标,而且是高清大图。这对写软件评测文章的童鞋会非常实用。(What’s More:粘贴到Finder下是文件,粘贴到图像编辑环境下是图标,粘贴到文本环境下是文件名)
2.你知道吗?应用的图标是在应用/Contents/Resources下的icns文件(文件名视情况而定,一般为“应用的名称.icns”或“icon.icns”),对于我们这群修改欲旺盛的家伙,如果觉得哪个应用图标不舒服,可以备份后替换成自己DIY的图标(菜单栏图标同理,效果如下)。嗯,强迫症无误

gogent_icon

3.今天看到碎星君微博提到Finder剪切的话题。其实”复制”or”剪切”的决定权在于粘贴那一刻,多按一个⌥(option),效果大不同。同样按住⌥可以用于开机选择启动磁盘、Finder进入用户资源库之类的,大家可以自己探索下。

Q:等等,好像非正文内容比正文内容更丰富有趣诶。
A:不必在意这些细节,多样的风格生活更井猜~什么?已经天亮了


微信请刷:

ReSur's WeChat