CSS+JS实现内容切换

admin 2018年5月8日10:08:14评论396 views字数 4665阅读15分33秒阅读模式
摘要

效果如上图,还附带特效,当时在一个网站看到这个,觉得还不错,或许以后会用到,所以就给扒下来了。

CSS+JS实现内容切换

效果如上图,还附带特效,当时在一个网站看到这个,觉得还不错,或许以后会用到,所以就给扒下来了。

Demo下载:[ GO ]   密码: my9f

如果想在wordpress中添加这个功能,该怎么弄呢?很简单,只需要添加几段代码即可。

主题 functions.php 中添加如下代码:

//添加文章ID add_action('admin_menu', 'create_meta_box');  add_action('save_post', 'save_postdata');   $new_meta_box = array(   "id" => array(   "name"=>"id",   "std"=>"",   "title"=>"文章指定显示板块ID"   )   );   function create_meta_box(){   if(function_exists('add_meta_box')){   add_meta_box('new-meta-box','展示栏目设置','new_meta_box','post','normal','high');   }   }  function new_meta_box(){   global $post,$new_meta_box;   foreach($new_meta_box as $meta_box){   $meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);   if($meta_box_value == "")   $meta_box_value = $meta_box['std'];   echo '<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$mata_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'"/>';   echo '<div style="height: 20px;"><h4 style="width: 125px;">'.$meta_box['title'].'</h4>'.'<textarea cols="10" style="top: -40px;position: relative;left: 130px;" rows="1" name="'.$meta_box['name'].'_value">'.$meta_box_value.'</textarea><span style="top: -46px;position: relative;left: 140px;">默认5个栏目,根据顺序设置1-5,可以同时设置多个栏目显示,格式如:1 5 加个空格即可.</span></div>';   }   }  function save_postdata($post_id){   global $post,$new_meta_box;   foreach($new_meta_box as $meta_box){   if(!wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )){   return $post_id;   }   if('page' == $_POST['post_type']){   if(!current_user_can( 'edit_page', $post_id ))   return $post_id;   }else{   if(!current_user_can( 'edit_post', $post_id ))   return $post_id;   }   $data = $_POST[$meta_box['name'].'_value'];   if(get_post_meta($post_id, $meta_box['name'].'_value') == "")   add_post_meta($post_id, $meta_box['name'].'_value', $data, true);   elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))   update_post_meta($post_id, $meta_box['name'].'_value', $data);   elseif($data == "")   delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));   }   }   /* 前台调用方式:  $desc="id_value";   $alid=get_post_meta($post->ID,$desc,true);  echo $alid;  具体参考下方我给的案列代码 */

添加以上代码后,在后台发布文章处即可看到效果:
CSS+JS实现内容切换

然后将 Dome 压缩包中的代码套入到你的主题中,具体套入需要根据你的主题代码修改,附上我给一个客户做的主题中的代码:

 <div id="portfolio" class="section anchor" style="padding-top: 53px; margin-top: -53px;">  <div class="dark-wrapper">  <div class="container inner">  <h2 class="section-title text-center"><?php echo dopt('d_dh_name'); ?></h2>  <p class="lead main text-center"><?php echo dopt('d_dh_jj'); ?></p>  <div class="grid-portfolio fix-portfolio">  <ul class="filter">  <li><a class="active" href="#" data-filter="*">全部</a></li>  <li><a href="#" data-filter=".1"><?php echo dopt('d_dh_name1'); ?></a></li>  <!-- 这里我改成了后台可控。 -->  <li><a href="#" data-filter=".2"><?php echo dopt('d_dh_name2'); ?></a></li>  <li><a href="#" data-filter=".3"><?php echo dopt('d_dh_name3'); ?></a></li>  <li><a href="#" data-filter=".4"><?php echo dopt('d_dh_name4'); ?></a></li>  <li><a href="#" data-filter=".5"><?php echo dopt('d_dh_name5'); ?></a></li>  </ul>    <!-- /filter -->  <ul class="content-slider items isotope" style="position: relative; overflow: hidden; height: 918px;">  <?php $limit = get_option('posts_per_page');  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;  query_posts('post_type=post&post_status=publish&showposts=' . $limit=9 . '&paged=' . $paged);  if (have_posts()) : while (have_posts()) : the_post();   $desc="id_value";   $alid=get_post_meta($post->ID,$desc,true); // 前台调用ID  ?>  <li class="item thumb <?php echo $alid; ?> isotope-item" style="position: absolute; left: 0px; top: 0px; transform: translate3d(0px, 0px, 0px);">  <figure><a href="<?php%20the_permalink();%20?>" data-contenturl="<?php%20the_permalink();%20?>" data-callback="callPortfolioScripts();" data-contentcontainer=".pcw">  <div class="text-overlay">  <div class="info"><?php the_title(); ?></div>  </div>  <img src="<?php%20bloginfo('template_url');?>/timthumb.php?src=<?php%20echo%20post_thumbnail_src();%20?>&h=160&w=200&zc=1" alt=""> </a></figure>  </li>   <?php endwhile;endif; ?>   </ul>

CSS+JS实现内容切换

添加后台对前台的可控功能,如:

<li class="item thumb <?php echo $alid; ?> isotope-item" style="position: absolute; left: 0px; top: 0px; transform: translate3d(0px, 0px, 0px);"> 

其他地方我就不多解释了,主要是看 li 标签中的 class ,不同栏目展示不同内容,是根据这个class中的数字决定的,因此我将这里改成了可控,在编辑文章的时候,填写了ID,那么他会在这里自动输出当时填写的ID,实现几个栏目内容切换的效果,为了方便,我也把导航设置成了后台可控。

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2018年5月8日10:08:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CSS+JS实现内容切换https://cn-sec.com/archives/50983.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息