藏地传奇js

http://zd.163.com/m/zhenyan/

js很厉害,有很多值得学习的地方,记录下来。

http://res.nie.netease.com/zdcq/qt/13/0625_zhenyan/js/index.js

var ZANTEMP;

//cookies
jQuery.cookie = function(name, value, options) {
    if (typeof value != ‘undefined‘) { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = ‘‘;
            options.expires = -1;
        }
        var expires = ‘‘;
        if (options.expires && (typeof options.expires == ‘number‘ || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == ‘number‘) {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = ‘; expires=‘ + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        var path = options.path ? ‘; path=‘ + options.path : ‘‘;
        var domain = options.domain ? ‘; domain=‘ + options.domain : ‘‘;
        var secure = options.secure ? ‘; secure‘ : ‘‘;
        document.cookie = [name, ‘=‘, encodeURIComponent(value), expires, path, domain, secure].join(‘‘);
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != ‘‘) {
            var cookies = document.cookie.split(‘;‘);
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + ‘=‘)) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

//chrome上传预览
function handleFiles(files) {
    if (!$.browser.msie||($.browser.msie&& $.browser.version=="10.0")){
        //遍历files并处理
        files=files.files;
        for (var i = 0; i < files.length; i++) {
            var file = files[i];
            var imageType = /image.*/;
            //通过type属性进行图片格式过滤
            if (!file.type.match(imageType)) {
                continue;
            }
            //读入文件
            var reader = new FileReader();
            reader.onload = function (e) {
                //e.target.result返回的即是图片的dataURI格式的内容
                var imgData = e.target.result,
                    img = document.createElement(‘img‘);
                //img.src = imgData;
                //展示img
                $(".pre-img").attr("src", imgData).css("visibility", "visible");
            }
            reader.readAsDataURL(file);
        }

    }else{//IE
        var html="<div class=‘pre-img‘></div>";
        $(‘.pre-div‘).html(‘‘).html(html);
//采用滤镜效果生成图片预览
       // files.select();
        path =$(‘#upload-btn‘).val();
        $(‘.pre-img‘).css({"filter":"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=‘true‘,sizingMethod=‘scale‘,src=\""+ path + "\")"});
    }
}

//temp
var clickedMask;
//check cookie
function cookie_check_logined() {
    var s_info = $.cookie("S_INFO");
    var p_info = $.cookie("P_INFO");
    var now = new Date();
    if (s_info != null && s_info != "" && p_info != null && p_info != "" && (now.getTime() / 1000 - s_info.split(‘|‘)[0]) / 600 < 1) {
        return p_info.split(‘|‘)[0];
    }
    return false;
}

//扩展中文字符截断
String.prototype.sub = function(n)
{
    var r = /[^\x00-\xff]/g;
    if(this.replace(r, "mm").length <= n) return this;
    var m = Math.floor(n/2);
    for(var i=m; i<this.length; i++) {
        if(this.substr(0, i).replace(r, "mm").length>=n) {
            return this.substr(0, i) ; }
    } return this;
};

//post回调
function postArtCallback(result){
    $(‘#captcha_img‘).trigger(‘click‘);
    if(!result){
        $(‘.post-tips‘).text(‘请填写完整‘).show();
        return ;
    }
    if(result.success){
        var maskHeight=315;
        var maskWidth=645;
        var maskPosition=$(‘.post-form‘).position();
        $(‘.post-form‘).css({width:0,height:0}).hide();
        $(‘.success-box‘).css({width:0,height:0}).css(maskPosition).animate({height:maskHeight, width:maskWidth}).show();
        $(‘#captcha_answer‘).val(‘‘);
        $(‘#content,#nickname,#title‘).val(‘‘);

    }else{
        if(result.unlogin){
            $(‘.post-tips‘).text(‘帐号验证失败,请重新登录‘).show();
            return;
        }
        $(‘.post-tips‘).text(result.msg).show();
    }
}
//验证码
rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function rnd() {
    rnd.seed = (rnd.seed*9301+2973467) % 2332425280;
    return rnd.seed;
};

$(function () {
    var userName=cookie_check_logined()?cookie_check_logined():‘‘;
    var zanIsclick=false;
    $(‘.username-span‘).text(userName);

    //绑定验证码
    $(‘#captcha_img‘).click(function(){
        var temp_id = parseInt(rnd());
        $(‘#captcha_img‘).attr(‘src‘, "http://captcha-for-what.webapp.163.com/get_captcha?captcha_id=zdcq" + temp_id);
        $(‘#captcha_id‘).val(‘zdcq‘ + temp_id);
    });
    $(‘#captcha_img‘).click();

    var myWaterfall = gWaterFall.initWaterfall();
    $(‘.top‘).click(function () {
        $(window).scrollTop(0);
    })

    //导航绑定
    $(‘.nav4‘).toggle(function(){
        $(this).addClass(‘current‘)
    },function(){
        $(this).removeClass(‘current‘)
    })

    $(‘.a2‘).click(function(){
        var display=$(‘.tc-jp‘).css(‘display‘);
        $(‘.nav a‘).removeClass(‘current‘);

        $(‘.tc‘).slideUp();
        if(display==‘none‘){
            $(this).addClass(‘current‘);
            $(‘.tc-jp‘).slideDown();
        }else{
            $(this).removeClass(‘current‘);
            $(‘.tc-jp‘).slideUp();
        }
    })

    $(‘.a3‘).click(function(){
        var display=$(‘.tc-gz‘).css(‘display‘);
        $(‘.nav a‘).removeClass(‘current‘);

        $(‘.tc‘).slideUp();

        if(display==‘none‘){
            $(‘.tc-gz‘).slideDown();
            $(this).addClass(‘current‘);
        }else{
            $(‘.tc-gz‘).slideUp();
            $(this).removeClass(‘current‘);
        }
    })

    $(‘.a5‘).click(function(){
        var display=$(‘.tc-mt‘).css(‘display‘);
        $(‘.nav a‘).removeClass(‘current‘);

        $(‘.tc‘).slideUp();
        if(display==‘none‘){
            $(this).addClass(‘current‘);
            $(‘.tc-mt‘).slideDown();
        }else{
            $(this).removeClass(‘current‘);
            $(‘.tc-mt‘).slideUp();
        }
    })

    //上传绑定
    $("#upload-a").click(function(){
        $("#upload-btn").trigger(‘click‘);
    })
    $(".a1").click(function(){
        $(‘.j-1‘).trigger(‘click‘);
    })

    $(‘.gz-btn‘).click(function(){
        $(‘.j-1‘).trigger(‘click‘);
    })

    $("#post-btn").click(function(e){

    })
    //点赞
    $(‘.mask .y-up,.mask .y-up-only‘).live(‘click‘,function(){
        ZANTEMP=$(this);
        var id=$(this).attr(‘data-artid‘);
        var p=$(this);
        var _this=$(this);
        if(!cookie_check_logined()){
            if(!zanIsclick){
                var maskHeight=315;
                var maskWidth=645;
                var maskPosition=$(‘.mask‘).position();
                $(‘.encourage-box‘).css({width:0,height:0}).css(maskPosition).animate({height:maskHeight, width:maskWidth}).show();
                return;
            }
        }
        $.getJSON(‘http://zdcq.webapp.163.com/script/user/vote_article?article_id=‘+id+‘&callback=?‘,function(data){
            if(data.article_resp){

               _this.trigger(‘click‘);
              //  return;
            }
            if(data.success){
               // alert(‘点"赞"成功‘);
                var newNum=parseInt( p.html().toLowerCase().split(‘</i>‘)[1],10)+1;
               // console.log(p.html()) ;
                console.log(parseInt( p.html().split(‘</i>‘)[1],10));
                p.html(‘<i></i>‘+newNum) ;
                clickedMask.find(‘.y-up,.y-up-only‘).html(‘<i></i>‘+newNum);

            }else{
                alert(data.msg);
            }
        });
    })

    //选择登录与否
    $(‘.yes-login‘).click(function(){
        var maskHeight=315;
        var maskWidth=645;
        var maskPosition=$(this).parent().position();
        $(this).parent().animate({width:0,height:0}).hide();
        $(‘.login-form‘).css({width:0,height:0}).css(maskPosition).animate({height:maskHeight, width:maskWidth}).show();
        if(!cookie_check_logined()){
            $(‘.logout-tips‘).hide();
        }else{
            $(‘.logout-tips‘).show();
        }
    })

    $(‘.no-zan‘).click(function(){
        $(‘.encourage-box‘).animate({width:0,height:0},function(){
            $(‘.encourage-box‘).hide();
        })
        zanIsclick=true;
        ZANTEMP.trigger(‘click‘);

    })

    $(‘.no-post‘).click(function(){
        var maskHeight=315;
        var maskWidth=645;
        var maskPosition=$(this).parent().position();
        $(this).parent().animate({width:0,height:0}).hide();
        $(‘.post-form‘).css({width:0,height:0}).css(maskPosition).animate({height:maskHeight, width:maskWidth}).show();
        if(!cookie_check_logined()){
            $(‘.logout-tips‘).hide();
        }else{
            $(‘.logout-tips‘).show();
        }
    })
    //填写用户信息
    $(‘#info-btn‘).click(function(){
        var name=$("#name").val();
        var phone=$(‘#phone‘).val();
        $.getJSON(‘http://zdcq.webapp.163.com/script/user/fill_userinfo?name=‘+name+‘&phone=‘+phone+‘&callback=?‘,function(data){
            if(data.success){
                if(!ZANTEMP){
                    var maskHeight=$(‘.info-form‘).height();
                    var maskWidth=$(‘.info-form‘).width();
                    var maskPosition=$(‘.info-form‘).position();
                    $(‘.info-form‘).hide();
                    $(‘.post-form‘).css(maskPosition).animate({height:maskHeight, width:maskWidth}).show();
                    $(‘.logout-tips‘).show();
                }else{
                    ZANTEMP.trigger(‘click‘);
                    $(‘.info-form‘).hide();
                }
            }
            if(data.error){
                alert(data.msg);
            }
        })
    })

    $(‘.mask‘).live(‘click‘,function(e){
        if($(e.target).hasClass(‘y-up‘)||$(e.target).hasClass(‘NIE-share‘)||$(e.target).hasClass(‘y-up-only‘)){
            return;
        }
        var _self=$(this);
        $(this).animate({
            width:0,
            height:0
        },function(){
             _self.hide();
        })
    })

    //登录开始
    AutoUrs.bind("username", {
        mailList: [
            "163.com",
            "126.com",
            "yeah.net",
            "qq.com",
            "vip.163.com",
            "vip.126.com",
            "188.com",
            "gmail.com",
            "sina.com",
            "hotmail.com"
        ],
        tabTo: "password",
        cookie: "global"
    });

    $("#login-form-box").ntesLoginForm({
        beforeSubmit: function() {
            var is_ok = true;
            var username = $("#login-form-box input[name=username]");
            var password = $("#login-form-box input[name=password]");
            if (!username.val() || username.val() == "如[email protected]") {
                //    $("#acErr").show()
                is_ok = false;
            }

            if (!password.val()) {
                //    $("#pwdErr").show()
                is_ok = false;
            }
            return is_ok;
        },
        success: function(params) {
            userName=cookie_check_logined();
            var maskHeight=$(‘.login-form‘).height();
            var maskWidth=$(‘.login-form‘).width();
            var maskPosition=$(‘.login-form‘).position();
            $(‘.username-span‘).html(userName);
            $(‘.login-tips‘).text(‘‘).hide();
            $.getJSON(‘http://zdcq.webapp.163.com/script/user/is_userinfo_fill?urs=‘+userName+‘&callback=?‘,function(data){

                if(!data.fill){
                    $(‘.login-form‘).hide();
                    $(‘.info-form‘).css(maskPosition).animate({height:maskHeight, width:maskWidth}).show();
                }else{
                    $(‘.login-form‘).hide();
                    if(ZANTEMP){
                        ZANTEMP.trigger(‘click‘);
                    }else{
                        $(‘.post-form‘).css(maskPosition).animate({height:maskHeight, width:maskWidth}).show();
                    }

                    $(‘.logout-tips‘).show();
                }
            })
        },
        fail: function(params) {
            $(‘.login-tips‘).text(params.errorMsg).show();
        }
    });

    //out login
    $("#login-out").click(function  () {
        var oldUrl=window.location.href;
        window.location=‘http://reg.163.com/Logout.jsp?username=‘+userName+‘&url=‘+oldUrl;
    })

    //成功分享
    nie.use([‘util.share‘],function(){
        var successShare = nie.util.share({
            fat: ".s-share",
            type: 6,
            defShow: [5, 1, 3, 2],
            title: ‘我刚刚参与了《藏地传奇》真言活动,提交你的真言,说出你对西藏游戏化的建议,一起探索西藏题材的无限可能!还有机会获得iPad mini等精美奖品哦!活动地址:‘,
            img: ‘‘
        });
    })

    //post input focus
    $(‘#title‘).focus(function(){
        if($(this).val()==‘20字以内‘){
            $(this).val("")
        }
    })
    /*
    $(‘#title‘).blur(function(){
        if($(this).val()==‘‘){
            $(this).val("20字以内")
        }
    })
    */
    $(‘#nickname‘).focus(function(){
        if($(this).val()==‘6字以内‘){
            $(this).val(‘‘)
        }
    })
    /*
    $(‘#nickname‘).blur(function(){
        if($(this).val()==‘‘){
            $(this).val("6字以内")
        }
    })
    */
    $(‘#content‘).focus(function(){
        if($(this).val()==‘140字以内‘){
            $(this).val(‘‘)
        }
    })
    /*
    $(‘#content‘).blur(function(){
        if($(this).val()==‘‘){
            $(this).val("140字以内")
        }
    })
    */
    $(‘.top‘).css(‘right‘,($(window).width()-$(‘.out‘).width())/2-50);
    $(window).resize(function(){
        $(‘.top‘).css(‘right‘,($(window).width()-$(‘.out‘).width())/2-50);
    })

    $(‘.form-close‘).live(‘click‘,function(){
        var parent=$(this).parent();
        $(this).parent().animate({
            width:0,
            height:0
        },function(){
            parent.hide();
        })
    })

    $(‘.tc-close‘).click(function(){
        $(this).parent().slideUp();
        var pid=$(this).attr(‘data-parent‘);
        $(pid).removeClass(‘current‘);
    })
})
时间: 2024-10-29 16:53:21

藏地传奇js的相关文章

藏地传奇真言专题简单小结

先来个传送门:藏地传奇-真言专题.话说搞这个专题也折腾了不少时间,看似简单的页面,实际也隐藏着大大小小的坑.下面请听我一一道来. 一.先从布局说起 真言专题页采用的布局是屡见不鲜的瀑布流.其实当时一接到这个需求的时候,第一反应是Github上搜插件库,因为关于瀑布流的JQ库实在是太多了.像KISSY的waterfall,像@Sebobo 的Wookmark-jQuery,像jQuery Masonry等,都是很简单易用的库.但体验过其中几个DEMO之后,发现其实都不符合需求的预期,于是决定自己写

藏地传奇瀑布流

/** * Created with JetBrains PhpStorm. * User: Gseven * Date: 13-6-17 * Time: 下午4:43 */ var gWaterFall = (function () { var indexNum = 0; //每次刷新最后一条数据的ID var jyNum = 0; //每3次loading加载一个“我要建言” var outBoxHeight = $('.out').height(); //三列外层容器 var outBox

前台的url通过 ActionName?var1=xx&amp;var2=yy 的形式传给特定action

本文对自己开发的基于lucene和J2EE技术的搜索引擎开发经验进行简单总结.今后可能会从性能的角度总结lucene开发经验.当数据上TB级别后,分布式lucene以及结合分布式文件系统(如HDFS)或NoSQL等问题应该会成为我的技术关键点.而本文主要介绍struts2.0的关键特性和实践经验. 1. struts如何获得前台参数? 本文对自己开发的基于lucene和J2EE技术的搜索引擎开发经验进行简单总结.今后可能会从性能的角度总结lucene开发经验.当数据上TB级别后,分布式lucen

内存拷贝的优化方法

机器学习是一项经验技能,经验越多越好.在项目建立的过程中,实践是掌握机器学习的最佳手段.在实践过程中,通过实际操作加深对分类和回归问题的每一个步骤的理解,达到学习机器学习的目的. 预测模型项目模板不能只通过阅读来掌握机器学习的技能,需要进行大量的练习.本文将介绍一个通用的机器学习的项目模板,创建这个模板总共有六个步骤.通过本文将学到: 端到端地预测(分类与回归)模型的项目结构. 如何将前面学到的内容引入到项目中. 如何通过这个项目模板来得到一个高准确度的模板. 丈纤途堪糜铣扒纫杜陀式邢对恍欠闯滤

通过Samba 挂载远程MS Windows 的文件系统z9X

Yann LeCun其人,Facebook AI研究院(FAIR)负责人,深度学习三架马车之一,卷积神经网络(CNN)之父,享受得了万人敬仰,也在无人问津的寒冬挣扎过. 他于1960年出生在巴黎,1987-1989年博士后期间拜在大神Geoffrey Hinton门下,1988年被Larry Jackel招入贝尔实验室,1989年提出在计算机视觉中使用卷积神经网络,其后此项技术被用于在自动取款机上读取支票,影响至今.1998年又提出基于梯度的学习. 或许是天性,又或许是经历过神经网络和深度学习备

js控制TR的显示影藏

在很多现实的场景中,有的文本框我们希望在选择“是”的按钮之后才出现,这就需要js控制TR的隐藏和显示,(div的影藏显示类似) 以下是一段选择是的按钮就显示身高和体重的文本框的代码.注意:ready方法必须要引用jquery的库. 1.html Code <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <

node.js学习资料【藏】

Node.js 入门 <汇智网 Node.js 课程> <快速搭建 Node.js 开发环境以及加速 npm> http://fengmk2.com/blog/2014/03/node-env-and-faster-npm.html <Node.js 包教不包会> https://github.com/alsotang/node-lessons <最快的 js 编写方式> https://github.com/alsotang/fast-js <七天学

52 标签的影藏,盒子阴影,三种定位,js导入和语法

标签的隐藏 display: none; 不以任何方式显示,在页面中不占位,但重新显示,仍然占位 opacity:0.5; 修改盒子的透明度,值为0,完全透明,但在页面中占位 盒子的阴影 box-shadow: 150px 0 10px 0 red, 0 150px 10px 0 green; x轴偏移 y轴偏移 虚化程度 阴影宽度 颜色 盒子的三种定位固定定位 当前页面窗口的宽高(锁屏幕尺寸变化而变化):vw vh 一旦打开定位属性,left.right.top.bottom四个方位词均能参与

JS+CSS简单实现DIV遮罩层显示隐藏【转藏】

<!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>DIV CSS遮罩层</title