Оба кода выглядят правильными, но они настолько разные, что, я предполагаю, вы их нашли где-то и у вас не готово под них всё остальное. К примеру, для первого примера, не подключен
Foundation, а для второго - не написана
modalShownFn
.
Единственно, что: 3000 - это 3 секунды. Для 3 минут должно быть
3 * 1000 * 60
И да, в примере
$(".city_chooser_small_frame .show")
вы не "ставите ей класс show". Подучите основы JQuery. Думаю, заработает так:
$(document).ready(function() {
var KEY = 'city_chooser_small_frame';
if ($.cookie(KEY) == null) {
$.cookie(KEY, 'yes', { expires: 7, path: '/' });
setTimeout(function(){
$(".city_chooser_small_frame").addClass("show");
}, 3000); // <== не забудьте тут правильное время
}
});