Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать как в JQ? (https://javascript.ru/forum/misc/22514-kak-sdelat-kak-v-jq.html)

faforty 23.10.2011 14:52

Как сделать как в JQ?
 
Как сделать как в JQ?
Как с помощью js сделать наследование функций как в jquery: $('#dd').show().html('tw');
$('#dd').show().html('tw');


Как сделать такие функции я и сам знаю, но как сделать чтоб вид такой был, мне просто как-то не очень удобно: hide( id('div') ); Ну и просто, интересно...

Gvozd 23.10.2011 15:17

в jQuery функция $ и все методы возвращают объект jQuery.
Соответственно каждая выполнившаяся функция возвращает объект jQuery, у которого снова могут быть использованы те же методы

function $(){
    return {
        func1: function(){return this;},
        func2: function(){return this;}
    };
}
$().func1().func2();

faforty 23.10.2011 16:29

Спасибо

faforty 11.11.2011 16:32

У меня возникла проблема, при выполнении
$().func1().func2();
выполняется только функция func1(), а все другие не выполняются. Как сделать, чтобы все функции выполнялись?

faforty 11.11.2011 17:11

Ну кто нибудь знает?

griffonn 11.11.2011 18:50

в конце каждой функции добавь return this

Pavel M. 11.11.2011 20:53

можно так, например

var x = {
    y: 1,
    f1: function () {
        return this;
    },
    f2: function () {
        return this;
    } 
};

alert(x.f1().f2().f1().f2().y);

Андрей38 13.11.2011 03:03

Можна как то в nav() вложить еще и $('#New div').live('mouseenter',,чтоб как то упорядочить код,(подобно с переменными var )?
nav()
function nav (){
$('#New div').live('mouseenter',function(){
var f= $(this).index()
var Par_H=$('.parentE ').find('img').height() ..})
}

Андрей38 14.11.2011 00:35

Цитата:

Сообщение от Андрей38 (Сообщение 136134)
Можна как то в nav() вложить еще и $('#New div').live('mouseenter',,чтоб как то упорядочить код,(подобно с переменными var )?
nav()
function nav (){
$('#New div').live('mouseenter',function(){
var f= $(this).index()
var Par_H=$('.parentE ').find('img').height() ..})
}

<script type="text/javascript" src="jquery-1.js"></script>
<script type="text/javascript">
 var handler = function() {
     alert('Please, don\'t resize window!');
 }
 
 $(window).bind('resize', handler)
</script>


Часовой пояс GMT +3, время: 23:56.