-1

Две функции, когда пользователь нажимает следующую кнопку, вызывают функцию next() и fbsharing(). следующая свопы между 4-дивы, которые будут отображаться только один, в то время (РАБОЧАЯ) fbsharing (отобразит настроенную кнопку Отправить в сНу ид = fbshare (СБОЙ)Мне нужны две функции, которые будут выполняться onclick

вот мой jsfiddle: http://jsfiddle.net/U3jdm/

<div id="content" style="width:60%; float:left; padding: 10px 10px 10px 10px;"> 
    <div id="ncholder"> 
     <div id="ncframe"></div> 
     <div class="PortSwap" id="swap0"> 
     111111111111 
     </div> 

     <div class="PortSwap" id="swap1"> 
     2222222222 
     </div> 

     <div class="PortSwap" id="swap2"> 
     333333333 
     </div> 

     <div class="PortSwap" id="swap3"> 
     4444444444 
     </div> 
    </div> 
    <div id="ncnav" style="width:83%; float:left; padding: 30px 10px 10px 10px;"> 
    <div style="width:30%; float:right; color:#66ce9d; font-size:18px; font-weight:bold;"> 
     <div style="width:30px; height:30px; float:left;"><img src="leftnav.png" alt="Previous" onClick="(function(){prev(); fbSharing();})();"/></div> 
     <div style="width:30px; height:30px; float:right;"><img src="rightnav.png" alt="Next" onClick="(function(){next(); fbSharing();})();"/></div> 
    </div></div> 
    <div id="fbshare" style="color:#ed1a64; font-size:18px; font-weight:bold;"> </div> 
</div> 
<script> 
$(function() { 
    "use strict"; 
    $('.PortSwap').hide().eq(0).addClass('active').show(); 
}); 

function prev() { 
    var current = $('.PortSwap.active'), 
     prev = current.prev('.PortSwap'); 
    console.log(prev.length, prev); 
    if (prev.length) { 
     current.hide().removeClass('active'); 
     prev.addClass('active').show(); 
    } 
} 

function next() { 
    var current = $('.PortSwap.active'), 
     next = current.next('.PortSwap'); 
    if (next.length) { 
     current.hide().removeClass('active'); 
     next.addClass('active').show(); 
    } 
} 
function fbSharing() { 
var test = document.getElementByClassName("PortSwap active"); 
var share; 
var testid = test.id; 
    if (testid = 'swap0') { 
     share ="1111111"; 
    } 
    else if (test.ID = 'swap1') { 
     share ="2222"; 
    } 
    else if (test.ID = "swap2") { 
     share ="33333"; 
    } 
    else if (test.ID = "swap3") { 
     share ="44444"; 
    } 
    document.getElementById("fbshare").innerHTML=share; 
} 
</script> 
.

Привет, Спасибо за пятнистость мою ошибку на getelementsclassname для рабочей демонстрации двух функций выполняется OnClick, здесь: http://jsfiddle.net/79B8z/1/

ответ

1

Я нашел 2 эр rors.

. Нет функции под названием getElementByClassName ее getElementsByClassNameс) . document.getElementsByClassName возвращает коллекцию HTMLElement, в которой вам нужен первый, поэтому вам может понадобиться использовать нотацию индекса массива.

Наконец,

Это должно выглядеть,

var test = document.getElementsByClassName("PortSwap active")[0] 

JS Fiddle

+0

Вы имели в виду 'GetElementsByClassName' с S? :) –

+0

эй, я не получаю то, что «возвращает коллекцию HTMLElement, в которой вам нужен первый, так что вам, возможно, придется использовать нотацию индекса массива», прямо сейчас, но спасибо за обнаружение ошибки STUPID. Теперь я должен попытаться получить он работает правильно. –

+1

@ChrisPin [HTMLCollection] (https://developer.mozilla.org/en-US/docs/Web/API/HTMLCollection) ... Роберт: возможно, с '' ', но определенно не с' G';). – Teemu

0

Чтобы запустить две функции OnClick просто использовать

onclick="next(), fbsharing()" 

Я думаю, вот что вы имеете в виду ..

Смежные вопросы