Go Back   CodingForums.com > :: Client side development > JavaScript programming > JavaScript frameworks

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 03-20-2009, 11:16 AM   PM User | #1
neospark
New to the CF scene

 
Join Date: Mar 2009
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
neospark is an unknown quantity at this point
Mootools FX.Sort Problem Help Needed!

Hi

i am trying to do some results pinning using FX sort, so basically
when a result is clicked it goes to the top of the result set and is
pinned there , and so on if you click another that goes to the top
along with the first pinned one etc

As far as I can see my code is OK, maybe not the best but it seems to
debug correctly but ... the sorting is messed up. I cant actually show
you the HTML and code as its on an internal system etc , but i have
created a stripped down version for you to look at this gives the same
issues.

An example can be found here

http://www.homecheeq.com/sort.html

You can see if you click on say "7" and then "4" , crazy stuff happens
at the moment it , alerts out the ID of the click div and the current
sort order AFTER the sort has been called , the sort order look
correct but the sorting seems to be not the same as the sort order
given in the alert box .

My code is also below , HTML and JSCRIPT, i need help and i dont get
whats going on

HTML CODE:

Code:
<html>
<head>
  <script src="http://www.clientcide.com/scripts/
clientside.moo.v1.2.packed.js" type="text/javascript"
charset="utf-8"></script>

<script src="http://www.clientcide.com/scripts/clientside.1.2.js"
type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="http://www.clientcide.com/wiki/lib/
tpl/clientside/mootorial.js"></script>

<script type="text/javascript" src="dynamic.js"></script>
</head>
<body>

<div class="products">
<div class="product">
0
<div class="sortdiv">
              <a href="#" id="0">Sort </a>
</div>

</div>

<div class="product">
1
<div class="sortdiv">
   <a href="#" id="1">Sort </a>
</div>

</div>

<div class="product">
2
<div class="sortdiv">
   <a href="#" id="2">Sort </a>

</div>

</div>

<div class="product">
3
<div class="sortdiv">
  <a href="#" id="3">Sort </a>

</div>

</div>

<div class="product">
4
<div class="sortdiv">
  <a href="#" id="4">Sort </a>

</div>

</div>

<div class="product">
5
<div class="sortdiv">
  <a href="#" id="5">Sort </a>

</div>

</div>

<div class="product">
6
<div class="sortdiv">
  <a href="#" id="6">Sort </a>

</div>

</div>

<div class="product">
7
<div class="sortdiv">
 <a href="#" id="7">Sort </a>

</div>

</div>

<div class="product">
8
<div class="sortdiv">
 <a href="#" id="8">Sort </a>

</div>

</div>

<div class="product">
9
<div class="sortdiv">
 <a href="#" id="9">Sort </a>

</div>

</div>

</div>

</body>
</html>

JSCRIPT

Code:
var PinningOrder = new Array('0','1','2','3','4','5','6','7','8','9');
var vert;

window.addEvent('domready',function()
{

    vert = new Fx.Sort($$('.product'), {transition:
Fx.Transitions.Back.easeInOut, duration: 1000});

     $$("[class=product]").each(function(obj) {
        $$("[class=sortdiv] a").addEvent('click', PinResults)

   });

 });

function PinResults()
{
  alert(this.id);

  var id = this.id;

  PinningOrder.erase(id);

  var PinningOrderFirst = new Array(this.id);

  var SortOrder = PinningOrderFirst.concat(PinningOrder);
    alert(SortOrder);

  vert.sort(SortOrder).chain(vert.rearrangeDOM.bind(vert));

  PinningOrder.empty(); // empty the pinning order array and fill
again below
  PinningOrder = SortOrder;

 this.id = "xx";
 this.removeEvents('click');
 this.innerHTML = "done";

//   $$("[class=result]").each(function(obj,index) {
//         if (index == 0)
//         {
//           var obj3 =  $$("[class=iconholder] img")[index];
//          // obj3.id = index;
//           var pinValue = index;
//          /// PinningOrder[index] = pinValue;
//           // alert(obj.className);
//           // obj.className = "pinned";
//           /// alert(obj.className);
//           // $$("[class=iconholder] img")[index].addEvent('click',
UnPinResults);
//         }
//         else
//         {
//           var obj2 =  $$("[class=iconholder] img")[index];
//            var pinValue = index;
//          // PinningOrder[index] = pinValue;
//          // alert(obj2);
//          //obj2.id = index;
//
//         }
//
//   });

   /// vert = new Fx.Sort($$('.result'), {transition:
Fx.Transitions.Back.easeInOut, duration: 1000});
//     vert.sort(PinningOrder).chain(vert.rearrangeDOM.bind(vert));

}


Any ideas let me know some of the commeted out code kind of shows what
I have been trying to do but none of it works ;(
neospark is offline   Reply With Quote
Reply

Bookmarks

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 12:46 AM.


Advertisement
Log in to turn off these ads.