Emmy fashion: Hits and misses – Boston Globe

Every few seasons, an awards show red carpet seems singular in thought. Given the abundance of scarlet gowns at Monday night’s Emmy Awards, one wonders if Hollywood stylists pricked their fingers and made a fashion pact, agreeing to power dress their TV clients in the same shade.

Looks of note: January Jones’s excellent strapless Prabal Gurung and Claire Danes’s Givenchy with lovely lace inserts.

Continue reading below

Less successful was Kaley Cuoco’s dress, with its tacky patches of pink giving it a sickly sweet appearance. Also red-faced was Christina Hendricks, whose bunchy Marchesa gown seemed ill-fitting.

Sarah Hyland, meanwhile, was as sophisticated as we’ve seen her look on the red carpet. The “Modern Family” actress’s choice of a white cropped top and coral ballgown skirt by Christian Siriano had just the right amount of sex appeal and appropriateness, which is, for a 23-year-old in Hollywood, not an easy balance to strike.

There were rare sightings of green or gray, but no one who wore anything unusual with confidence (the intangible accessory that stylists can’t help with). The one-shoulder gown worn by Laura Prepon (“Orange Is the New Black”) had more going on than the drama on Cell Block H. Break out, Laura, before it’s too late.

Globe Staff

‘, w / 3, (w / 2) – (w / 6))).find(‘:last’).css(‘opacity’, 0.8);
}
}, 200);

var ie6FixRemove = function () {

if ($ie6Fix !== null) {
$ie6Fix.remove();
$ie6Fix = null;
}
};

// Removes cursor, tint layer, blur layer etc.
this.removeBits = function () {
//$mouseTrap.unbind();
if (lens) {
lens.remove();
lens = null;
}
if ($tint) {
$tint.remove();
$tint = null;
}
if (softFocus) {
softFocus.remove();
softFocus = null;
}
ie6FixRemove();

$(‘.cloud-zoom-loading’, jWin.parent()).remove();
};

this.destroy = function () {
jWin.data(‘zoom’, null);

if ($mouseTrap) {
$mouseTrap.unbind();
$mouseTrap.remove();
$mouseTrap = null;
}
if (zoomDiv) {
zoomDiv.remove();
zoomDiv = null;
}
//ie6FixRemove();
this.removeBits();
// DON’T FORGET TO REMOVE JQUERY ‘DATA’ VALUES
};

// This is called when the zoom window has faded out so it can be removed.
this.fadedOut = function () {

if (zoomDiv) {
zoomDiv.remove();
zoomDiv = null;
}
this.removeBits();
//ie6FixRemove();
};

this.controlLoop = function () {
if (lens) {
var x = (mx – sImg.offset().left – (cw * 0.5)) >> 0;
var y = (my – sImg.offset().top – (ch * 0.5)) >> 0;

if (x (sImg.outerWidth() – cw)) {
x = (sImg.outerWidth() – cw);
}
if (y (sImg.outerHeight() – ch)) {
y = (sImg.outerHeight() – ch);
}

lens.css({
left: x,
top: y
});
lens.css(‘background-position’, (-x) + ‘px ‘ + (-y) + ‘px’);

destU = (((x) / sImg.outerWidth()) * zoomImage.width) >> 0;
destV = (((y) / sImg.outerHeight()) * zoomImage.height) >> 0;
currU += (destU – currU) / opts.smoothMove;
currV += (destV – currV) / opts.smoothMove;

zoomDiv.css(‘background-position’, (-(currU >> 0) + ‘px ‘) + (-(currV >> 0) + ‘px’));
}
controlTimer = setTimeout(function () {
ctx.controlLoop();
}, 30);
};

this.init2 = function (img, id) {

filesLoaded++;
//console.log(img.src + ‘ ‘ + id + ‘ ‘ + img.width);
if (id === 1) {
zoomImage = img;
}
//this.images[id] = img;
if (filesLoaded === 2) {
this.init();
}
};

/* Init function start. */
this.init = function () {
// Remove loading message (if present);
$(‘.cloud-zoom-loading’, jWin.parent()).remove();

/* Add a box (mouseTrap) over the small image to trap mouse events.
It has priority over zoom window to avoid issues with inner zoom.
We need the dummy background image as IE does not trap mouse events on
transparent parts of a div.
*/
$mouseTrap = jWin.parent().append(format(“”, sImg.outerWidth(), sImg.outerHeight(), 0, 0)).find(‘:last’);

//////////////////////////////////////////////////////////////////////
/* Do as little as possible in mousemove event to prevent slowdown. */
$mouseTrap.bind(‘mousemove’, this, function (event) {
// Just update the mouse position
mx = event.pageX;
my = event.pageY;
});
//////////////////////////////////////////////////////////////////////
$mouseTrap.bind(‘mouseleave’, this, function (event) {
clearTimeout(controlTimer);
//event.data.removeBits();
if(lens) { lens.fadeOut(299); }
if($tint) { $tint.fadeOut(299); }
if(softFocus) { softFocus.fadeOut(299); }
zoomDiv.fadeOut(300, function () {
ctx.fadedOut();
});
return false;
});
//////////////////////////////////////////////////////////////////////
$mouseTrap.bind(‘mouseenter’, this, function (event) {
mx = event.pageX;
my = event.pageY;
zw = event.data;
if (zoomDiv) {
zoomDiv.stop(true, false);
zoomDiv.remove();
}

var xPos = opts.adjustX,
yPos = opts.adjustY;

var siw = sImg.outerWidth();
var sih = sImg.outerHeight();

var w = opts.zoomWidth;
var h = opts.zoomHeight;
if (opts.zoomWidth == ‘auto’) {
w = siw;
}
if (opts.zoomHeight == ‘auto’) {
h = sih;
}
//$(‘#info’).text( xPos + ‘ ‘ + yPos + ‘ ‘ + siw + ‘ ‘ + sih );
var appendTo = jWin.parent(); // attach to the wrapper
switch (opts.position) {
case ‘top’:
yPos -= h; // + opts.adjustY;
break;
case ‘right’:
xPos += siw; // + opts.adjustX;
break;
case ‘bottom’:
yPos += sih; // + opts.adjustY;
break;
case ‘left’:
xPos -= w; // + opts.adjustX;
break;
case ‘inside’:
w = siw;
h = sih;
break;
// All other values, try and find an id in the dom to attach to.
default:
appendTo = $(‘#’ + opts.position);
// If dom element doesn’t exit, just use ‘right’ position as default.
if (!appendTo.length) {
appendTo = jWin;
xPos += siw; //+ opts.adjustX;
yPos += sih; // + opts.adjustY;
} else {
w = appendTo.innerWidth();
h = appendTo.innerHeight();
}
}

zoomDiv = appendTo.append(format(”, xPos, yPos, w, h, zoomImage.src)).find(‘:last’);

// Add the title from title tag.
if (sImg.attr(‘title’) && opts.showTitle) {
zoomDiv.append(format(”, sImg.attr(‘title’))).find(‘:last’).css(‘opacity’, opts.titleOpacity);
}

// Fix ie6 select elements wrong z-index bug. Placing an iFrame over the select element solves the issue…

zoomDiv.fadeIn(500);

if (lens) {
lens.remove();
lens = null;
} /* Work out size of cursor */
cw = (sImg.outerWidth() / zoomImage.width) * zoomDiv.width();
ch = (sImg.outerHeight() / zoomImage.height) * zoomDiv.height();

// Attach mouse, initially invisible to prevent first frame glitch
lens = jWin.append(format(“”, cw, ch)).find(‘:last’);

$mouseTrap.css(‘cursor’, lens.css(‘cursor’));

var noTrans = false;

// Init tint layer if needed. (Not relevant if using inside mode)
if (opts.tint) {
lens.css(‘background’, ‘url(“‘ + sImg.attr(‘src’) + ‘”)’);
$tint = jWin.append(format(”, sImg.outerWidth(), sImg.outerHeight(), opts.tint)).find(‘:last’);
$tint.css(‘opacity’, opts.tintOpacity);
noTrans = true;
$tint.fadeIn(500);

}
if (opts.softFocus) {
lens.css(‘background’, ‘url(“‘ + sImg.attr(‘src’) + ‘”)’);
softFocus = jWin.append(format(”, sImg.outerWidth() – 2, sImg.outerHeight() – 2, opts.tint)).find(‘:last’);
softFocus.css(‘background’, ‘url(“‘ + sImg.attr(‘src’) + ‘”)’);
softFocus.css(‘opacity’, 0.5);
noTrans = true;
softFocus.fadeIn(500);
}

if (!noTrans) {
lens.css(‘opacity’, opts.lensOpacity);
}
if ( opts.position !== ‘inside’ ) { lens.fadeIn(500); }

// Start processing.
zw.controlLoop();

return; // Don’t return false here otherwise opera will not detect change of the mouse pointer type.
});
};

img1 = new Image();
$(img1).load(function () {
ctx.init2(this, 0);
});
img1.src = sImg.attr(‘src’);

img2 = new Image();
$(img2).load(function () {
ctx.init2(this, 1);
});
img2.src = jWin.attr(‘href’);
}

$.fn.CloudZoom = function (options) {
// IE6 background image flicker fix
try {
document.execCommand(“BackgroundImageCache”, false, true);
} catch (e) {}
this.each(function () {
var relOpts, opts;
// Hmm…eval…slap on wrist.
eval(‘var a = {‘ + $(this).attr(‘rel’) + ‘}’);
relOpts = a;
if ($(this).is(‘.cloud-zoom’)) {
$(this).css({
‘position’: ‘relative’,
‘display’: ‘block’
});
$(‘img’, $(this)).css({
‘display’: ‘block’
});
// Wrap an outer div around the link so we can attach things without them becoming part of the link.
// But not if wrap already exists.
if ($(this).parent().attr(‘id’) != ‘wrap’) {
$(this).wrap(”);
}
opts = $.extend({}, $.fn.CloudZoom.defaults, options);
opts = $.extend({}, opts, relOpts);
$(this).data(‘zoom’, new CloudZoom($(this), opts));

} else if ($(this).is(‘.cloud-zoom-gallery’)) {
opts = $.extend({}, relOpts, options);
$(this).data(‘relOpts’, opts);
$(this).bind(‘click’, $(this), function (event) {
var data = event.data.data(‘relOpts’);
// Destroy the previous zoom
$(‘#’ + data.useZoom).data(‘zoom’).destroy();
// Change the biglink to point to the new big image.
$(‘#’ + data.useZoom).attr(‘href’, event.data.attr(‘href’));
// Change the small image to point to the new small image.
$(‘#’ + data.useZoom + ‘ img’).attr(‘src’, event.data.data(‘relOpts’).smallImage);
// Init a new zoom with the new images.
$(‘#’ + event.data.data(‘relOpts’).useZoom).CloudZoom();
return false;
});
}
});
return this;
};

$.fn.CloudZoom.defaults = {
zoomWidth: ‘auto’,
zoomHeight: ‘auto’,
position: ‘right’,
tint: false,
tintOpacity: 0.5,
lensOpacity: 0.5,
softFocus: false,
smoothMove: 3,
showTitle: true,
titleOpacity: 0.5,
adjustX: 0,
adjustY: 0
};

})(jQuery);

}

More coverage:

Matthew Gilbert: Emmys stuck on repeat

Emmys fashion: Hayden Panettiere and more TV stars

Photos: Styles on the red carpet

Billy Crystal remembers Robin Williams at Emmys

Cranston, Louis-Dreyfus share passionate Emmys kiss

‘Breaking Bad’ and ‘Modern Family’ win top Emmys

Photos: Emmy Awards highlights

Winners in major categories

Recap from the Globe’s Sarah Rodman, Michael Brodeur

Complete list of winners

Comments

Write a Reply or Comment:

Your email address will not be published.*

Categories

  • Fashion and Style