最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Isotope.js dynamically changing sort data values - Stack Overflow

programmeradmin0浏览0评论

I'm trying to dynamically change the sort data values on Isotope items, but Isotope seems to cache the initial order values and only use that on the 'reLayout' call.

I have a page of items that, when clicked, will expand to 100% of the container width. Upon resize, all the Isotope items have to be re-ordered to specific positioning. I loop through each box and update the sort value.

The following example shows two Isotope objects, the top with animation which produces the proper sort order values, but wrong positioning, and the second with what should be the correct result.

The full example: /

Is there anyway for Isotope to retrieve the new sort data or to update the sort data values of Isotope directly?

I'm trying to dynamically change the sort data values on Isotope items, but Isotope seems to cache the initial order values and only use that on the 'reLayout' call.

I have a page of items that, when clicked, will expand to 100% of the container width. Upon resize, all the Isotope items have to be re-ordered to specific positioning. I loop through each box and update the sort value.

The following example shows two Isotope objects, the top with animation which produces the proper sort order values, but wrong positioning, and the second with what should be the correct result.

The full example: http://jsfiddle/eB85m/4/

Is there anyway for Isotope to retrieve the new sort data or to update the sort data values of Isotope directly?

Share Improve this question asked Mar 18, 2013 at 20:02 johntayljohntayl 1402 silver badges8 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 11

You're right about Isotope caching the initial order values – from Isotope's documentation here:

The data cache is built on initialization so it can be quickly accessed when sorting.

Isotope offers the updateSortData method to … well, update the sorting data after initialization. Here's a working jsfiddle.

// Update sort data
// http://isotope.metafizzy.co/docs/methods.html#updatesortdata
$('#iso').isotope( 'updateSortData', $('#iso').children() );

to your original example and mented the 'reLayout' – updating isotope's sort options already takes care of that (ref. Isotope's sorting demo).

V2 Update:

In V2 you can use $('#iso').isotope('updateSortData').isotope();
(per ment below)

发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>