In a move that supporters called a civil rights milestone, New Jersey's state Senate on Monday passed a bill to recognize same-sex marriages, marking the first time state lawmakers officially endorsed the idea -- despite the promise of a veto by Gov. Chris Christie.

Monday's vote was 24-16 in favor of the bill, a major swing from January 2010, when the Senate rejected it 20-14.

"It means the world isn't changing, it means the world has already changed," Steven Goldstein, chairman of the gay rights group Garden State Equality said after the vote. "So wake up and smell the equality."

Before the vote, Marsha Shapiro squeezed the hand of her longtime partner Louise Walpin, and reflected on how a body that rejected gay marriage two years ago was about to change its stance. "The pride will overpower the sorrow," she said.

But opponents say it's "an exercise in futility" even if the Assembly passes the bill Thursday as expected, given Christie's veto vow.

Len Deo, president of New Jersey Family Policy Council, called the vote "something we have to go through" and said it would be made moot with a veto.

While New Jersey differs from most states in that it has no law or state constitutional amendment banning gay marriage, neither its court nor lawmakers have allowed gay nuptials. Seven states and Washington, D.C., allow gay marriage. Washington state joined the list Monday when Gov. Christine Gregoire signed a same-sex marriage law.

In 2006, the New Jersey's Supreme Court ruled that the state had to give the legal protections of marriage to committed gay and lesbian couples, but that it need not call those protections marriage.

Lawmakers responded by creating civil unions rather than marriage.

Gay rights advocates say civil unions have not provided true equality. They complain that they set up a separate and inherently unequal classification for gays -- something social conservatives dispute.

Seven gay couples, along with several of their children, filed a lawsuit last year to try to get the court to order gay nuptials be allowed.

In the meantime, Democratic leaders in the Legislature are trying to do the same thing by passing a law.

When the Senate last voted on gay marriage two years ago, just before Gov. Jon Corzine, a Democrat who supported the measure, left office, several last-minute defections killed the bill. With the arrival of Republican Gov. Chris Christie, who spoke against gay marriage when asked about it during his campaign, advocates' hopes dimmed.

But the bill returned this year after Senate President Stephen Sweeney, a Democrat from Deptford, declared that it was a mistake for him to abstain on the 2010 bill. He vowed to make legalizing gay marriage a priority this year.

Christie last month said he'd veto the legislation if it passed. Christie said that such a fundamental change should be up to a vote of the people, and he has called for a referendum on the issue.

Democratic leaders say they will not allow a vote, arguing that a majority of the people should not be entrusted with deciding whether to protect a minority.

Instead, gay-rights supporters are hopeful that they can get enough lawmakers on their side to override Christie's expected veto.

It would take two-thirds of both chambers of the Legislature and would have to happen by the time the current legislative session ends in January 2014.

Sweeney said he knows which senators he'll try to persuade but won't name them publicly.

Sen. Raymond Lesniak, a Democrat from Elizabeth, said that if all lawmakers voted their conscience and didn't cave to political pressure, there would be enough Senate votes now to override a veto. And he said that some lawmakers could switch positions, partly because of the influence of gay friends or family. "You never know who's going to forward -- a daughter, a son, a neighbor of significant meaning of a senator or assemblyperson -- and change a mind," he said.

Two Democrats voted no and two Republicans voted yes in what was otherwise a party-line vote.

"It is my opinion that our republic was established to guarantee liberty to all people," said Jennifer Beck, a Republican from Red Bank who voted yes. "It is our role to protect all of the people who live in our state."

Sen. Gerald Cardinale, a Republican from Demarest, was the only senator to speak against the bill, saying allowing gays to marry goes against nature and history. "This bill simply panders to well-financed pressure groups and is not in the public interest," he said.