<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jquery on Jeremy Jackson</title>
    <link>https://new.tsjee.ru/tags/jquery/</link>
    <description>Recent content in Jquery on Jeremy Jackson</description>
    <generator>Hugo</generator>
    <language>ru</language>
    <lastBuildDate>Mon, 23 Jul 2012 10:34:50 +0000</lastBuildDate>
    <atom:link href="https://new.tsjee.ru/tags/jquery/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Стилизация Radio button и Checkboxes</title>
      <link>https://new.tsjee.ru/posts/2012-07-23-%D1%81%D1%82%D0%B8%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-radio-button-%D0%B8-checkboxes/</link>
      <pubDate>Mon, 23 Jul 2012 10:34:50 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2012-07-23-%D1%81%D1%82%D0%B8%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-radio-button-%D0%B8-checkboxes/</guid>
      <description>&lt;p&gt;Написал тут по быстрому скрипт стилизации radiobuttons и checkboxes на jquery для Drupal:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-jquery&#34; data-lang=&#34;jquery&#34;&gt;(function ($) {&#xA;    $(document).ready(function() {&#xA;        $(&amp;#39;input[type=&amp;#34;checkbox&amp;#34;]&amp;#39;).each(function() {&#xA;            var self = $(this);&#xA;            self.hide();&#xA;            if (this.getAttribute(&amp;#39;checked&amp;#39;)) {&#xA;                self.after(&amp;#39;&amp;#39;);&#xA;            } else {&#xA;                self.after(&amp;#39;&amp;#39;);&#xA;            }&#xA;        })&#xA;&#xA;        $(&amp;#39;.checkbox-style&amp;#39;).live(&amp;#39;click&amp;#39;, function(){&#xA;            var self = $(this);&#xA;            var id = this.getAttribute(&amp;#39;data-id&amp;#39;);&#xA;            if(self.hasClass(&amp;#39;checked&amp;#39;)) {&#xA;                self.removeClass(&amp;#39;checked&amp;#39;);&#xA;                $(&amp;#39;#&amp;#39; + id).attr(&amp;#39;checked&amp;#39;, &amp;#39;&amp;#39;);&#xA;            } else {&#xA;                self.addClass(&amp;#39;checked&amp;#39;);&#xA;                $(&amp;#39;#&amp;#39; + id).attr(&amp;#39;checked&amp;#39;, &amp;#39;checked&amp;#39;);&#xA;            }&#xA;        })&#xA;&#xA;        $(&amp;#39;input[type=&amp;#34;radio&amp;#34;]&amp;#39;).each(function() {&#xA;            var self = $(this);&#xA;            self.hide();&#xA;            if (this.getAttribute(&amp;#39;checked&amp;#39;)) {&#xA;                self.after(&amp;#39;&amp;#39;);&#xA;            } else {&#xA;                self.after(&amp;#39;&amp;#39;);&#xA;            }&#xA;        })&#xA;&#xA;        $(&amp;#39;.radio-style&amp;#39;).live(&amp;#39;click&amp;#39;, function(){&#xA;            var self = $(this);&#xA;            var id = this.getAttribute(&amp;#39;data-id&amp;#39;);&#xA;            var name = this.getAttribute(&amp;#39;data-name&amp;#39;);&#xA;&#xA;            if(self.hasClass(&amp;#39;checked&amp;#39;)) {&#xA;                $(&amp;#39;input[name=&amp;#34;&amp;#39;+name+&amp;#39;&amp;#34;]&amp;#39;).attr(&amp;#39;checked&amp;#39;, &amp;#39;&amp;#39;);&#xA;                $(&amp;#39;div[data-name=&amp;#34;&amp;#39;+name+&amp;#39;&amp;#34;]&amp;#39;).removeClass(&amp;#39;checked&amp;#39;);&#xA;                self.removeClass(&amp;#39;checked&amp;#39;);&#xA;                $(&amp;#39;#&amp;#39; + id).attr(&amp;#39;checked&amp;#39;, &amp;#39;&amp;#39;);&#xA;            } else {&#xA;                $(&amp;#39;input[name=&amp;#34;&amp;#39;+name+&amp;#39;&amp;#34;]&amp;#39;).attr(&amp;#39;checked&amp;#39;, &amp;#39;&amp;#39;);&#xA;                $(&amp;#39;div[data-name=&amp;#34;&amp;#39;+name+&amp;#39;&amp;#34;]&amp;#39;).removeClass(&amp;#39;checked&amp;#39;);&#xA;                self.addClass(&amp;#39;checked&amp;#39;);&#xA;                $(&amp;#39;#&amp;#39; + id).attr(&amp;#39;checked&amp;#39;, &amp;#39;checked&amp;#39;);&#xA;            }&#xA;        })&#xA;    });&#xA;})(jQuery);&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Стили:&lt;/p&gt;</description>
    </item>
    <item>
      <title>JS/jQuery полезняшки</title>
      <link>https://new.tsjee.ru/posts/2012-03-19-jsjquery-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8F%D1%88%D0%BA%D0%B8/</link>
      <pubDate>Mon, 19 Mar 2012 13:05:09 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2012-03-19-jsjquery-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8F%D1%88%D0%BA%D0%B8/</guid>
      <description>&lt;p&gt;Выбор множество селекторов:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-jquery&#34; data-lang=&#34;jquery&#34;&gt;$(&amp;#34;div,span,p.myClass&amp;#34;).css(&amp;#34;border&amp;#34;,&amp;#34;3px solid red&amp;#34;);&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Даже если у body 100% height, $(&amp;lsquo;body&amp;rsquo;).height() покажет реально занимаемый размер, лучше использовать:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-jquery&#34; data-lang=&#34;jquery&#34;&gt;$(document).height();&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Высота в JS&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;var&lt;/span&gt; height &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt; document.getElementById(&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;someDiv&amp;#39;&lt;/span&gt;).clientHeight; &lt;span style=&#34;color:#8b949e;font-style:italic&#34;&gt;// высота + вертикальный паддинг&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;var&lt;/span&gt; height &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt; document.getElementById(&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;someDiv&amp;#39;&lt;/span&gt;).offsetHeight; &lt;span style=&#34;color:#8b949e;font-style:italic&#34;&gt;//высота + вертикальный паддинг + бордеры&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;var&lt;/span&gt; height &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt; document.getElementById(&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;someDiv&amp;#39;&lt;/span&gt;).scrollHeight; &lt;span style=&#34;color:#8b949e;font-style:italic&#34;&gt;//высота + вертикальный паддинг + бордеры + скроллбар&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Кастомная функция для jQuery&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-jquery&#34; data-lang=&#34;jquery&#34;&gt;$.fn.myFunction = function() { &#xA;    return $(this).addClass(&amp;#39;changed&amp;#39;); &#xA;}&#xA;&#xA;$(&amp;#39;.className&amp;#39;).myFunction();&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Запуск функции &lt;strong&gt;setTimeout&lt;/strong&gt; с сохранением параметров&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;setTimeout(&lt;span style=&#34;color:#ff7b72&#34;&gt;function&lt;/span&gt;(url, children, parent) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#ff7b72&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;function&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   someFunc (url, children, parent);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            } (url, children, parent), &lt;span style=&#34;color:#a5d6ff&#34;&gt;50&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Функция &lt;strong&gt;insertAfter&lt;/strong&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Placeholder для форм на js</title>
      <link>https://new.tsjee.ru/posts/2012-02-01-placeholder-%D0%B4%D0%BB%D1%8F-%D1%84%D0%BE%D1%80%D0%BC-%D0%BD%D0%B0-js/</link>
      <pubDate>Wed, 01 Feb 2012 02:47:56 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2012-02-01-placeholder-%D0%B4%D0%BB%D1%8F-%D1%84%D0%BE%D1%80%D0%BC-%D0%BD%D0%B0-js/</guid>
      <description>&lt;p&gt;Ниже следуший код выдергивает название label к текстфилдам и вставляет их как placeholder.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-jquery&#34; data-lang=&#34;jquery&#34;&gt;$(&amp;#39;#answ-cont label&amp;#39;).each(function(){&#xA;    var id = $(this).attr(&amp;#39;for&amp;#39;);&#xA;    var text = $(this).text();&#xA;    $(this).css(&amp;#39;display&amp;#39;, &amp;#39;none&amp;#39;);&#xA;    $(&amp;#39;input[type=&amp;#34;text&amp;#34;]#&amp;#39; + id).val(text);&#xA;    $(&amp;#39;input[type=&amp;#34;text&amp;#34;]#&amp;#39; + id).bind(&amp;#34;focus&amp;#34;, function(event) {&#xA;      if ($(this).val() === text)&#xA;      $(this).val(&amp;#34;&amp;#34;);&#xA;    });&#xA;    $(&amp;#39;input[type=&amp;#34;text&amp;#34;]#&amp;#39; + id).bind(&amp;#34;blur&amp;#34;, function(event) {&#xA;      if ($(this).val() === &amp;#34;&amp;#34;)&#xA;      $(this).val(text);&#xA;    });&#xA;  });&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Jquery Validate</title>
      <link>https://new.tsjee.ru/posts/2011-09-28-jquery-validate/</link>
      <pubDate>Wed, 28 Sep 2011 05:50:47 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2011-09-28-jquery-validate/</guid>
      <description>&lt;p&gt;Вот такой простой способ валидации форм. login, pass это name input.&lt;/p&gt;&#xA;&lt;p&gt;jQuery(&amp;quot;#block-login-register-form&amp;quot;).validate({&#xA;rules: {&#xA;login: {&#xA;required: true,&#xA;minlength: 2&#xA;},&#xA;pass: {&#xA;required: true,&#xA;minlength: 5&#xA;},&#xA;password2: {&#xA;required: true,&#xA;minlength: 5,&#xA;equalTo: &amp;ldquo;#edit-pass&amp;rdquo;&#xA;},&#xA;email: {&#xA;required: true,&#xA;email: true&#xA;},&#xA;license: &amp;ldquo;required&amp;rdquo;&#xA;},&#xA;messages: {&#x9;&#x9;&#xA;login: {&#xA;required: &amp;ldquo;Пожалуйста введите имя&amp;rdquo;,&#xA;minlength: &amp;ldquo;Любой алфавит, от 2 до 30 символов&amp;rdquo;&#xA;},&#xA;pass: {&#xA;required: &amp;ldquo;Пожалуйста введите пароль&amp;rdquo;,&#xA;minlength: &amp;ldquo;Минимальная длина пароль 5 символов&amp;rdquo;&#xA;},&#xA;password2: {&#xA;required: &amp;ldquo;Пожалуйста повторите пароль&amp;rdquo;,&#xA;minlength: &amp;ldquo;Минимальная длина пароль 5 символов&amp;rdquo;,&#xA;equalTo: &amp;ldquo;Пароли не совпадают&amp;rdquo;&#xA;},&#xA;email: &amp;ldquo;Пожалуйста введите существующий e-mail&amp;rdquo;,&#xA;license: &amp;ldquo;Пожалуйста согласитесь с правилами сайта&amp;rdquo;&#xA;}&#xA;});&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fancybox</title>
      <link>https://new.tsjee.ru/posts/2011-09-16-fancybox/</link>
      <pubDate>Fri, 16 Sep 2011 14:30:57 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2011-09-16-fancybox/</guid>
      <description>&lt;p&gt;Вызов какого-нибудь, окошка по клику с заданым тайтлом. Для вывода собственного текста есть параметр &lt;strong&gt;content&lt;/strong&gt;, &lt;strong&gt;.trigger(&amp;lsquo;click&amp;rsquo;)&lt;/strong&gt; - выводит окошко.&lt;/p&gt;&#xA;&lt;p&gt;Кликая по одной ссылки, открываеться окно с картинкой из другой ссылки.&lt;/p&gt;&#xA;&lt;p&gt;jQuery(&amp;quot;.goals a.trendmotion&amp;quot;).click(function(){&#xA;jQuery(&amp;ldquo;a.trendmotion#trendmotion&amp;rdquo;).fancybox({&#xA;&amp;rsquo;titlePosition&amp;rsquo;     : &amp;lsquo;inside&amp;rsquo;,&#xA;&amp;rsquo;titleFormat&amp;rsquo;       : function() {&#xA;return trend_desc;&lt;br&gt;&#xA;}&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA;}).trigger(&amp;lsquo;click&amp;rsquo;);&#x9;&#x9;&#x9;&#xA;});&lt;/p&gt;</description>
    </item>
    <item>
      <title>Скрипт скрытия/раскрытия таблиц по клику на caption</title>
      <link>https://new.tsjee.ru/posts/2011-08-23-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D1%81%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F%D1%80%D0%B0%D1%81%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86-%D0%BF%D0%BE-%D0%BA%D0%BB%D0%B8%D0%BA%D1%83-%D0%BD%D0%B0-caption/</link>
      <pubDate>Tue, 23 Aug 2011 06:18:44 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2011-08-23-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D1%81%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F%D1%80%D0%B0%D1%81%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86-%D0%BF%D0%BE-%D0%BA%D0%BB%D0%B8%D0%BA%D1%83-%D0%BD%D0%B0-caption/</guid>
      <description>&lt;p&gt;JS Скрипт&lt;/p&gt;&#xA;&lt;p&gt;$(document).ready(function(){&#xA;$(&amp;quot;.table_styles caption&amp;quot;).parent().addClass(&amp;lsquo;hide&amp;rsquo;);&#xA;$(&amp;quot;.table_styles caption&amp;quot;).click( function() {&#xA;$(this).parent().toggleClass(&amp;lsquo;hide&amp;rsquo;);&#xA;});&#xA;})&lt;/p&gt;&#xA;&lt;p&gt;CSS:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;table {&#xA;  width: 100%;&#xA;}&#xA;.table_styles .hide thead,&#xA;.table_styles  .hide tbody{&#xA;  display:none;&#xA;}&#xA;.table_styles  table caption {&#xA;  cursor: pointer;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Использование регулярных выражений в jQuery</title>
      <link>https://new.tsjee.ru/posts/2011-08-23-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D1%85-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B2-jquery/</link>
      <pubDate>Tue, 23 Aug 2011 05:49:13 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2011-08-23-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D1%85-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B2-jquery/</guid>
      <description>&lt;p&gt;Для использования регулярных выражений, без которых иногда просто не обойтись, можно пользоваться следующим сниппетом:&lt;/p&gt;&#xA;&lt;p&gt;/&lt;em&gt;for regex in jquery&lt;/em&gt;/&lt;/p&gt;&#xA;&lt;p&gt;jQuery.expr[&amp;rsquo;:&amp;rsquo;].regex = function(elem, index, match) {&lt;/p&gt;&#xA;&lt;p&gt;var matchParams = match[3].split(&amp;rsquo;,&amp;rsquo;),&lt;/p&gt;&#xA;&lt;p&gt;validLabels = /^(data|css):/,&lt;/p&gt;&#xA;&lt;p&gt;attr = {&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  method: matchParams[0].match(validLabels) ? matchParams[0].split(&#39;:&#39;)[0] : &#39;attr&#39;,&#xA;&#xA;  property: matchParams.shift().replace(validLabels,&#39;&#39;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;},&lt;/p&gt;&#xA;&lt;p&gt;regexFlags = &amp;lsquo;ig&amp;rsquo;,&lt;/p&gt;&#xA;&lt;p&gt;regex = new RegExp(matchParams.join(&amp;rsquo;&amp;rsquo;).replace(/^\s+|\s+$/g,&amp;rsquo;&amp;rsquo;), regexFlags);&lt;/p&gt;&#xA;&lt;p&gt;return regex.test(jQuery(elem)&lt;a href=&#34;attr.property&#34;&gt;attr.method&lt;/a&gt;);&lt;/p&gt;&#xA;&lt;p&gt;}&lt;/p&gt;&#xA;&lt;p&gt;Пример использования:&lt;/p&gt;&#xA;&lt;p&gt;$(&amp;ldquo;input:regex(id, ^edit-field-sud-value-&amp;rdquo; + s[4] + &amp;ldquo;-children-.*)&amp;rdquo;).attr(&amp;lsquo;checked&amp;rsquo;, &amp;lsquo;checked&amp;rsquo;);&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
