Showing posts with label Javascript. Show all posts
Showing posts with label Javascript. Show all posts
var n = 1234567890;
String(n).replace(/(.)(?=(\d{3})+$)/g,'$1,')
// "1,234,567,890"
<div class="hidden-xs fanpage-fb">
    <a class="btn-fanpage-fb" href="javascript:void(0)"></a>
    <div id="fb-root"></div>
    <script>(function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v2.6&appId=1418906215084656";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>
    <div class="fb-page" data-href="https://www.facebook.com/facebook" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"></div>
</div>

<style>
    .fanpage-fb {
        position: fixed;
        top: 200px;
        width: 340px;
        right: -340px;
        z-index: 999;
    }
    .fanpage-fb .btn-fanpage-fb {
        width: 48px;
        height: 155px;
        background: url(/images/icon/fb-right.png) no-repeat transparent;
        display: block;
        position: absolute;
        right: 340px;
    }
    @media (max-width: 767px) {
        .fanpage-fb {
            display: none;
        }
    }
</style>

<script>
    $(document).ready(function() {
        $(".fanpage-fb").on('mouseenter', function() {
            $(".fanpage-fb").stop().animate({right:'0px'}, 500);
        });
        $(".fanpage-fb").on('mouseleave', function() {
            $(".fanpage-fb").stop().animate({right:'-340px'}, 500);
        });
    });

</script>



$(document).ready(function() {
    validateForm($('#addPosts'));
    initRule();
    $("#btnSubmit").on("click", function(){
        CKEDITOR.instances.content.updateElement();
        if ($("#addPosts").valid()) {
            return true;
        }
        return false;
    });

    $.validator.addMethod("isExtension", function (value, element, options) {
        return checkIsExtension(value);
    },"Wrong extension type");

});

function checkIsExtension(value) {
    var ext = value.split(".");
    ext = ext[ext.length-1].toLowerCase();
    var arrayExtensions = ["jpg" , "jpeg", "png", "bmp", "gif"];
    if (arrayExtensions.lastIndexOf(ext) == -1) {
        return false;
    }
    return true;
}

function validateForm($form) {
    $form.validate({
        ignore: "",
        onfocusout : function( element, event ) {
            if ($(element).valid()) {
                $(element).closest("div.form-group").removeClass("has-error");
                //$(element).closest("div.form-group").addClass("has-success");
                $(element).closest("div.form-group").find("label.error").remove();
            }
        },

        onkeyup: function( element, event ) {
            $(element).valid();
        },

        errorPlacement: function (error, element) {
            $(element).closest("div.form-group").addClass("has-error");
            //$(element).closest("div.form-group").removeClass("has-success");
            error.insertAfter(element);
        },

        invalidHandler: function(form, validator) {
            if (!validator.numberOfInvalids()){
                return;
            }
            //scrollToTopElement($(validator.errorList[0].element));
        }
    });
}

function initRule() {
   $('#name').rules("add", {
            required : true,
            minlength: 2,
            maxlength: 100,
            messages: {
                required:'Vui lòng nhập tên',
                minlength:'Tên phải nhiều hơn hai chữ',
                minlength:'Tên phải ít hơn 100 chữ'
            }
    });
    $('#email').rules("add", {
            required : true,
            email: true,
            messages: {
                required:'Vui lòng nhập e-mail',
                email:'E-mail không đúng định dạng'
            }
    });
    $('#phone').rules("add", {
            required : true,
            number: true,
            messages: {
                required:'Vui lòng nhập số điện thoại',
                number:'Chỉ được phép nhập số'
            }
    });
    $('#image').rules("add", {
        required : true,
        isExtension: true // hàm custom validate
    });

}


Add validate min
<script language="javascript" src="/js/jquery.validate.min.js" type="text/javascript"></script>
$('#read-more').on('click', function() {
        var dataajax = {'read-more-from': $("#read-more-from").val()};
        // gọi ajax
        $.ajax({
            url : "/news/readmore",
            type : 'POST',
            data : dataajax,
            dataType : 'json',
            success: function(data){
                // gọi function append vào html
                addNewsAjax(data.arrNews);
                $("#read-more-from").val(data.offset);
            }
        });
    });

=================================

public function readmoreAction() {
        if ($this -> request -> isPost()) {
            $this -> view -> disable();
            // lấy dữ liệu truyền thông qua ajax
            $offset = $this->request -> getPost('read-more-from');

            $news = new News();
            // lấy dữ liệu từ DB
            $newsList = $news -> findByLimit(10, $offset);
            // khai báo array chứa dữ liệu để loop ngoài html
            $arrNews = array();
            foreach ($newsList as $news) {
                $arr = array('id'             => $news -> id,
                                'title'              => $news -> title,
                                'description'   => $news -> description,
                                'content'         => $news -> content,
                                'url'                => $news -> url,
                                'image'           => $news -> image,
                                'updated_at'   => date('d-m-Y', strtotime($news -> updated_at)));
                array_push($arrNews, $arr);
            }
            // output json ra ngoài javascript
            echo json_encode(array('arrNews' => $arrNews, 'offset' => ($offset + 10)));
        }
    }
==================================
<a href="javascript:void(0)" id="read-more">Xem tiếp >></a>
<script>
 $(document).ready(function() {
        $('class hoặc id').each(function() {
            var description = $(this).text();
            if (description.length > 100) {
                $(this).text(description.substring(0, 100) + "[...]");
            }
        });
});
</script>