Программирование на JS, JQ, Ajax

(Ответов: 130, Просмотров: 18877)
Страница 10 из 14 Первая ... 89101112 Последняя
  1. Дипломник Аватар для Unick
    • Регистрация: 12.02.2013
    • Сообщений: 142
    • Репутация: 45
    DoZer,
    Код:
    $(function () {
      // http://ruseller.com/lessons.php?rub=2&id=480
      /** mode Unick **/
      var $sidebar = $("#sidebar"),
      $document = $(document),
      $window = $(window);
      var offset = $sidebar.offset(),
      topPadding = 15,
      bottomPadding = 15;
      $window.scroll(function () {
        if ($window.scrollTop() + $sidebar.height() + offset.top > $document.height()) {
          $sidebar.stop().animate({
            marginTop : $document.height() - bottomPadding - $sidebar.height()-offset.top
          });
        } else if ($window.scrollTop() > offset.top) {
          $sidebar.stop().animate({
            marginTop : $window.scrollTop() - offset.top + topPadding
          });
        } else {
          $sidebar.stop().animate({
            marginTop : 0
          });
        };
      });
    });


    ---------- Сообщение добавлено 23:59 ---------- Предыдущее 23:51 ----------

    Shefarik, прости... какого ху.. столько id=tel? за такое руки отрывают)
    id - должен быть уникальным

    1. Скрываем все телефоны $('.tel').hide();
    2. Показываем нужный телефон $('.tel[city-id=3]');
    итого:
    Код:
    $(function () {
      $('#edit-selectbox').change(function () {
        $('.tel').hide();
        $('.tel[city-id=' + $(this).val() + ']').show();
      });
    });
    редактировать подпись
    • 0
  2. Дипломник Аватар для Viking5310
    • Регистрация: 02.04.2013
    • Сообщений: 107
    • Репутация: 18
    • Webmoney BL: ?
    Ребят, подскажите пожалуйста, как аяксом скрыть ссылку вида:
    PHP код:
    <a rel="nofollow" href="$FILE_URL$" class="ic-init" file_name="$ENTRY_TITLE$" file_type="winrar" file_size="$ENTRY_SIZE$" onclick="yaCounter00000.reachGoal('IT'); return true;" target="_blank"><img src="http://сайт/imagesf/img.gif" align="absmiddle" border="0"></a
    Сам никак придумать не могу.
    • 0
  3. Дипломник Аватар для Unick
    • Регистрация: 12.02.2013
    • Сообщений: 142
    • Репутация: 45
    Цитата Сообщение от Viking5310 Посмотреть сообщение
    Ребят, подскажите пожалуйста, как аяксом скрыть ссылку вида:
    аяксом скрыть ссылку... ссылку скрыть аяксом... вид ссылка аякс... что?
    скрыть элементы можно только с помощью css, удалить с помощью js.
    Js еще можно обфусцировать.
    че надо то в итоге?
    редактировать подпись
    • 0
  4. Дипломник Аватар для Viking5310
    • Регистрация: 02.04.2013
    • Сообщений: 107
    • Репутация: 18
    • Webmoney BL: ?
    Unick, как прописать тот код в javascript onclick ?
    • 0
  5. Дипломник Аватар для Unick
    • Регистрация: 12.02.2013
    • Сообщений: 142
    • Репутация: 45
    тот код?
    http://javascript.ru/tutorial/events/intro
    лучше скажи что есть, и что должно в итоге получиться.
    редактировать подпись
    • 0
  6. Новичок
    • Регистрация: 27.01.2013
    • Сообщений: 1
    • Репутация: 0
    Вот для простоты обычный js native. Как без подключения библиотек сделать скрытие блоков анимацией?
    PHP код:
    <html>
    <
    head>
    <
    style>
    .
    block{width200px;}
    .
    block div{
       
    padding:5px;
       
    height:100px;
       
    border1px solid #ccc; 
       
    border-bottomnone
    }
    .
    block div div{
       
    margin-top:10px
       
    padding:15px;
       
    border1px solid #ccc;
       
    display:none
    }
    .
    block div:last-child{border-bottom1px solid #ccc;}
    </style>
    <
    script>
    var 
    blocks document.getElementsByTagName('a');
    var 
    div document.getElementsByTagName('div');
    for(
    i=0i<blocks.lengthi++){
        
    blocks[i].onclick = function(){
           for(
    j=0j<div.lengthj++){
             if(
    div[j].getAttribute('class') == 'content')
                   
    div[j].lastChild.previousSibling.style.display 'none';
            }
            
    this.nextSibling.nextSibling.style.display 'block';
        }   
     }
    </script>
    </head>
    <body>
    <div class="block">
        <div class="content">
            <a href="#">Block 1</a>
            <div>Content Block 1</div>
        </div>
        <div class="content">
            <a href="#">Block 2</a>
            <div>Content Block 2</div>
        </div>
        <div class="content">
            <a href="#">Block 3</a>
             <div>Content Block 3</div>
        </div>
    </div>
    </body>
    </html> 
    Последний раз редактировалось Aglow; 06.10.2014 в 18:54.
    • 0
  7. Дипломник Аватар для Unick
    • Регистрация: 12.02.2013
    • Сообщений: 142
    • Репутация: 45
    Aglow, добавляешь блоку класс с opacity:0 и transition: 3s linear;
    http://shpargalkablog.ru/2011/07/tra...aciya-css.html
    редактировать подпись
    • 1

    Спасибо сказали:

    Aglow(08.10.2014),
  8. Новичок Аватар для iSerge
    • Регистрация: 17.10.2012
    • Сообщений: 24
    • Репутация: 1
    Есть меню-слайдер на sergeikusov (.) com/theroom
    Код его ниже.

    Вопрос: как сделать, чтобы изначально был раскрыт первый слайдер?

    Сам JS не знаю, прошу помощи!

    Код:
    var slideMenu=function(){
    	var slider,items,maxW,minW,normalW;
    	return{
    		build:function(sm,sw){
                slider = $('#slider');
                items = $('#slider li');
                first = $('#slider li.first');
                first.width(460);
                maxW = sw-1;
                normalW = $('#slider').width()/items.length - 1;
                minW =  Math.floor(($('#slider').width() - maxW) /  (items.length-1));
                numPlanes = new Array();
                desPlanes = new Array();
                
                items.hover(function()
                {
                    slideMenu.over($(this).index());					   
                }, function(){
                	slideMenu.out();						   
                })
                
                for(var i = 0; i < items.length; i++){
                    items.eq(i).width(normalW);
                    numPlanes[i] = items.eq(i).find('>span'); 
                    numPlanes[i].stop().animate({left:(normalW-48)/2}, 0);
                    desPlanes[i] = items.eq(i).find('>div'); 
                }
    		},
            over:function(itemNum){
               for(var i=0; i<items.length; i++){
                    if(i != itemNum){
                        items.eq(i).stop().animate({width:minW}, 500);
                        numPlanes[i].stop().animate({left:(minW-48)/2}, 500);
                    } else if(i == itemNum){
                        items.eq(i).stop().animate({width:maxW}, 500);
                        numPlanes[i].stop().animate({left:'-60px'}, 500);
                        desPlanes[i].stop().animate({left:(maxW-302)/2}, 500);
                    }
               }
            },
            out:function(){
               for(var i=0; i<items.length; i++){
                    items.eq(i).stop().animate({width:normalW}, 500);
                    numPlanes[i].stop().animate({left:(normalW-48)/2}, 500);
                    desPlanes[i].stop().animate({left:'-350px'}, 500);
               }
            }
    	};
    }();
    • 0
  9. Дипломник Аватар для Unick
    • Регистрация: 12.02.2013
    • Сообщений: 142
    • Репутация: 45
    iSerge,
    попробуй так
    Код HTML:
    var slideMenu=function(){
    	var slider,items,maxW,minW,normalW;
    	return{
    		build:function(sm,sw){
                slider = $('#slider');
                items = $('#slider li');
                maxW = sw-1;
                normalW = $('#slider').width()/items.length - 1;
                minW =  Math.floor(($('#slider').width() - maxW) /  (items.length-1));
                numPlanes = new Array();
                desPlanes = new Array();
                
                items.hover(function()
                {
                    slideMenu.over($(this).index());					   
                }, function(){
                	slideMenu.out();						   
                })
                
                for(var i = 0; i < items.length; i++){
                    items.eq(i).width(normalW);
                    numPlanes[i] = items.eq(i).find('>span'); 
                    numPlanes[i].stop().animate({left:(normalW-48)/2}, 0);
                    desPlanes[i] = items.eq(i).find('>div'); 
                }
                this.over(0);
    		},
            over:function(itemNum){
               for(var i=0; i<items.length; i++){
                    if(i != itemNum){
                        items.eq(i).stop().animate({width:minW}, 500);
                        numPlanes[i].stop().animate({left:(minW-48)/2}, 500);
                    } else if(i == itemNum){
                        items.eq(i).stop().animate({width:maxW}, 500);
                        numPlanes[i].stop().animate({left:'-60px'}, 500);
                        desPlanes[i].stop().animate({left:(maxW-302)/2}, 500);
                    }
               }
            },
            out:function(){
               for(var i=1; i<items.length; i++){
                    items.eq(i).stop().animate({width:normalW}, 500);
                    numPlanes[i].stop().animate({left:(normalW-48)/2}, 500);
                    desPlanes[i].stop().animate({left:'-350px'}, 500);
               }
               this.over(0);
            }
    	};
    }();
    редактировать подпись
    • 0
  10. Студент Аватар для SEO Умнег
    • Регистрация: 10.05.2010
    • Сообщений: 73
    • Репутация: 20
    • Webmoney BL: ?
    Коллеги, прошу помощи:
    есть форма заявки на сайте и js-обработчик этой формы, который ее валидирует и отправляет на мыл, если все ок.
    Нужно добавить в обработчик отслеживание целей метрики.

    Стандартные варианты для формы, предлагаемые яндексом типа
    <form action="" method="get" onsubmit="yaCounterXXXXXX.reachGoal('ORDER'); return true;">
    не подходят и/или не работают.

    Вот часть кода обработчика формы - файл scripts.js:
    Код:
    submitForm: function (e) {
    	e.preventDefault();
    	
    	var form = $(this),
    		 submitBtn = form.find('button[type="submit"]');
    	
    	if( app.validateForm(form) === false ) return false;
    	
    	/* var yaCounter12345678 = new Ya.Metrika({id: 12345678});
    	yaCounter12345678.reachGoal('CONTACT');	*/
    
    	var str = form.serialize();
    
    	$.ajax({
    		 url: '/sendform.php',
    		 type: 'POST',
    		 data: str
    	})
    	.done(function(msg) {
    		 if(msg === "OK"){
    			  var result = "<div class='bg-success'>Благодарим за вашу заявку, мы скоро свяжемся с вами!</div>";
    			  form.html(result);
    		 }else{
    			  form.html(msg);
    		 }
    	});
    },
    Собственно примерный вызов метрики в коде есть (закомментирован), но не работает, естественно.
    Насколько понимаю из-за [не]видимости объекта или неправильного использования объекта/метода Метрики.
    Исправить опыта в js не хватает

    Головной хтмл, в котором подключается scripts.js с обработчиком, выглядит примерно так:
    Код:
    <!DOCTYPE html>
    ...
    <body>
    <!-- Yandex.Metrika counter -->
    <script type="text/javascript">
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounter27344726 = new Ya.Metrika({id:12345678,
    ...
    <!-- /Yandex.Metrika counter -->
    ...
    ...
    ...
    <script src="js/scripts.js"></script>
    </body>
    </html>
    Помогите правильно вызвать методы Метрики в обработчике формы, плиз!
    • 0
Страница 10 из 14 Первая ... 89101112 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
PHP/Python программирование
Создание сайтов 7 19.11.2013 19:51
Изучить Web программирование
Web программирование 20 03.06.2012 16:53
Программирование автозапуска USB флешки
Прочее 7 10.03.2012 22:49
Веб программирование на Php, MySQL, Ajax. Программирование на C#
Создание сайтов 3 31.05.2011 01:53
Веб программирование на Php, MySQL, Ajax. Программирование на C#
Реклама партнерских программ 3 31.05.2011 01:53

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры