需求
需要在skywen官网底部添加微信图标,以及鼠标悬浮图标时,展示二维码的弹框。
思路
因为底部是由三个footer小工具集合而成的,“联系我们”这本身只是一个以标题形式展现的,所以很难在它后面单独添加一个图形标签,所以我就想到用伪元素的方法去添加,并调用Wordpress本身自带的jQuery库去编写方法。
Wordpress中基本已经集成了全套的jQuery库与其他子库,所以在写前端程序时可以考虑调用Wordpress自带的jQuery库,这样jQuery版本就能够随着Wordpress升级一起更新。
步骤
<?php wp_enqueue_script("jquery"); ?>
注意:wp_enqueue_script(“jquery”); 务必加在 wp_head(); 的前面,我是加在头部的,如下:
<head><meta charset="<?php bloginfo('charset'); ?>"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="profile" href="https://gmpg.org/xfn/11"><link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/sass/style.scss"><?php wp_enqueue_script("jquery"); ?><?php wp_head(); ?></head>
jQuery的用法要像下面的一样,要不然识别不了
Wordpress 的 jQuery 和原版唯一的不同, 就是在最后一行加了 jQuery.noConflict();这个noConflict() 就是为了与其它的library 兼容性, 如:Prototype, MooTools, 或 YUI.
jQuery(document).ready(function($) {// "$"符号在这里才能被识别});
还有一个点就是,jQuery不能操作伪元素,也就是说我们无法通过jQuery获取到元素中的伪元素进行事件绑定,所以需要利用pointer-events属性屏蔽元素操作事件,将事件绑定到伪元素上。
.skywen-sidebar2-footer-img .widget-title{position: relative;pointer-events: none;/*重点1在这里*/}.skywen-sidebar2-footer-img .widget-title::after{content: '';position: absolute;top: 0;left: 90px;width: 32px;height: 32px;background-image: url("./assets/images/weixin@2x.png");background-repeat: no-repeat;background-size: 2.143rem;background-position: center;pointer-events:auto; /*重点2在这里*/}
<script type="text/javascript">jQuery(document).ready( function($) {jQuery('.skywen-sidebar2-footer-img').find('.widget-title').on('mouseover', function() {jQuery('.skywen-sidebar2-footer-code').fadeIn()}).on('mouseout', function() {jQuery('.skywen-sidebar2-footer-code').fadeOut()})});</script>
